ฉันมีสองตารางที่มีdate
และid
ฟิลด์ ฉันต้องการเข้าร่วมทั้งสองสาขา ฉันเหนื่อย
JOIN t2 ON CONCAT(t1.id, t1.date)=CONCAT(t2.id, t2.date)
ใช้งานได้ แต่ช้ามาก มีวิธีที่ดีกว่านี้ไหม
ฉันมีสองตารางที่มีdate
และid
ฟิลด์ ฉันต้องการเข้าร่วมทั้งสองสาขา ฉันเหนื่อย
JOIN t2 ON CONCAT(t1.id, t1.date)=CONCAT(t2.id, t2.date)
ใช้งานได้ แต่ช้ามาก มีวิธีที่ดีกว่านี้ไหม
คำตอบ:
JOIN t2 ON t1.id=t2.id AND t1.date=t2.date
JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date)
SELECT *
FROM t1
JOIN t2 USING (id, date)
บางทีคุณอาจต้องใช้ INNEER JOIN หรือโดยที่ t2.id ไม่ใช่ null หากคุณต้องการผลลัพธ์ที่ตรงกับเงื่อนไขทั้งสองเท่านั้น