เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

พิมพ์ a ตัวเดียว ค้นหาคำที่มี "a" ได้ => admin ตาราง phpbb_users
พิมพ์ หม้อ ตัวเดียว ค้นหาคำที่มี "หม้อ" ได้ => หม้อหุงข้าว ความจุ 1.8 ลิตร ตาราง phpbb_mod_electric

SELECT r.*, e.electric_name, us.username, us.user_colour, t.name_type as ntype FROM (phpbb_mod_record_user r)
LEFT JOIN phpbb_users us ON (us.user_id = r.user_id )
LEFT JOIN phpbb_mod_reccord_detail d ON (d.record_id = r.record_id)
LEFT JOIN phpbb_mod_electric e ON (e.electric_id = d.record_id)
LEFT JOIN phpbb_mod_type_rate t ON (t.type_id = r.type_id)
WHERE (us.username LIKE '%a%' || e.electric_name LIKE '%a%' ) && r.type_id LIKE '%1%' GROUP BY record_id

เเต่พอเปลี่ยน
พิมพ์ TV => ....... ไม่เเสดงผล
คำสั่ง SQL เดียวกันเลย ตารางphpbb_mod_electric


WHERE (us.username LIKE '%TV%' || e.electric_name LIKE '%TV%' ) && r.type_id LIKE '%1%' GROUP BY record_id


เเละพอลองค้นแบบตารางเดียว
SELECT * FROM `phpbb_mod_electric` WHERE `electric_name` LIKE '%TV%'
ก็สามารถค้นได้
แนบไฟล์
1.png
1.png (4.94 KiB) Viewed 4497 times
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

OR, AND แทนเครื่องหมาย
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

เปลี่ยนเเล้วค่ะ ผลเป็นเหมือนเดิม .. :cry: :cry:
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

r.type_id LIKE '%1%'
คืออะไร ใช้เป็นตัวเชื่อมตาราง หรือ ใช้เป็นเงื่อนไข
ถ้าเป็นตัวเลข ควรใช้ = แทน LIKE
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ความรู้เพิ่มเติมเกี่ยวกับ การ Join แบบ LEFT JOIN ใน MySQL
https://www.mindphp.com/forums/viewtopic ... 326#p48326
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: เขียนคำสั่ง SQL JOIN TABLE เพื่อค้นหา เเต่บางคำ ค้นหาไม่ได้

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

สุดท้ายก็ถึงบางอ้อ ....!

SELECT r.*, e.electric_name, us.username, us.user_colour, t.name_type as ntype FROM (phpbb_mod_record_user r)
LEFT JOIN phpbb_users us ON (us.user_id = r.user_id )
LEFT JOIN phpbb_mod_reccord_detail d ON (d.record_id = r.record_id)
LEFT JOIN phpbb_mod_electric e ON (e.electric_id = d.electric_id)
LEFT JOIN phpbb_mod_type_rate t ON (t.type_id = r.type_id)
WHERE (us.username LIKE '%TV%' OR e.electric_name LIKE '%TV%' ) AND r.type_id LIKE '%1%'GROUP BY record_id DESC

หนูเชื่อม ผิด...!
e.electric_id = d.record_id ทำ
ทำให้ ข้อมูลที่ join ออกมาได้ electric_name ไม่ตรงกับ electric_id ที่เก็บใน phpbb_mod_record_user (ลองเเบบไม่ "WHERE") มันก้เลยค้นหาไม่ได้ เจอะ...! :-D :-D
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 75