web-dev-qa-db-fra.com

MySQL comment joindre des tables sur deux champs

J'ai deux tables avec les champs date et id. Je veux rejoindre sur les deux champs. j'ai essayé

JOIN t2 ON CONCAT(t1.id, t1.date)=CONCAT(t2.id, t2.date)

cela fonctionne, mais c'est très lent. Y a-t-il une meilleure manière de faire cela?

97
pedalpete
JOIN t2 ON t1.id=t2.id AND t1.date=t2.date
165
womble
JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date)
36
Chad Birch
SELECT * 
FROM t1
JOIN t2 USING (id, date)

peut-être aurez-vous besoin d'utiliser INNEER JOIN ou si t2.id n'est pas nul si vous voulez que les résultats ne correspondent qu'aux deux conditions

25
Eugene Kaurov