รบกวนสอบถามเกี่ยวกับการ query ข้อมูลหน่อยครับ โดยการ Join กัน 2 Table
เข้าใจว่าแบบแรกที่ใช้ SELECT FROM หลายๆ table มันอาจจะไม่แสดงผลแบบเดียวกันตลอดถ้าใช้ Engine Database แบบอื่นนะครับ (เหมือนเคยอ่านจากเว็บอืื่นมา แต่จำเว็บไม่ได้) ซึ่งบางทีมันจะมีผลเหมือน INNER JOIN แต่บางทีอาจไม่ใช่ก็ได้
แต่แบบที่สองมันจะดูเป็นมาตรฐานกว่าและทุก Engine น่าจะเข้าใจได้ตรงกันนะครับ
ไม่ค่อยชัวร์อ่ะครับ เคยใช้แต่แบบที่สอง
Date :
2012-05-04 09:43:19
By :
dreamforce
อย่างแรกที่ทำการ join ตารางเราไม่ควรสร้างชื่อฟิลด์ซ้ำกันครับ และข้อมูลที่ join กันต้องมีข้มูลหมดเลยเพราะถ้าตารางใดที่ join กันว่างข้อมูลจะไม่ขึ้นครับ
join กันก็ได้ครับ
Code (PHP)
$StrSQL = "SELECT
member.member_id,
member.member_name,
member_detail.sub_member_id,
member_detail.detail,
FROM
member
Inner Join member_detail ON member_detail.sub_member_id= member.member_id
where member_id='$member_id' ";
ประวัติการแก้ไข 2012-05-04 09:51:06
Date :
2012-05-04 09:47:18
By :
keng_ds
แต่ถ้าไม่มีปัญหาเรื่องข้อมูลไม่ตรงกันแล้วยังคงต้องการให้แสดงผลอยู่ถึงแม้จะมีข้อมูลว่างก็ใช้ OUTER JOIN เช่น LEFT, RIGHT or FULL JOIN ก็ได้นะครับ
Date :
2012-05-04 10:12:32
By :
dreamforce
อ้อครับผม
ผมเคยใช้ LEFT JOIN กับ RIGHT JOIN แล้วพอข้อมูลเริ่มเยอะขึ้นมันรู้สึกว่าช้าาาาามากกก เลยอ่ะครับ
ไม่รู้ว่าเป็นเพราะอะไร
Table ก็ไม่ได้ซับซ้อนอะไรเลย
Date :
2012-05-04 10:33:54
By :
TOM
Load balance : Server 05