MySQL как объединять таблицы по двум полям - PullRequest
96 голосов
/ 31 января 2009

У меня есть две таблицы с полями date и id. Я хочу присоединиться к обоим полям. Я пытался

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

это работает, но очень медленно. Есть ли лучший способ сделать это?

Ответы [ 3 ]

164 голосов
/ 31 января 2009
JOIN t2 ON t1.id=t2.id AND t1.date=t2.date
35 голосов
/ 31 января 2009
JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date)
25 голосов
/ 14 мая 2013
SELECT * 
FROM t1
JOIN t2 USING (id, date)

возможно, вам нужно использовать INNEER JOIN или где t2.id не является нулевым если вы хотите, чтобы результаты соответствовали только двум условиям

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...