MySQL how to join tables on two fields

I have two tables with date and id fields. I want to join on both fields. I tried

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

that works, but it is very slow. is there a better way to do this?

135900 次浏览
JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date)
JOIN t2 ON t1.id=t2.id AND t1.date=t2.date
SELECT *
FROM t1
JOIN t2 USING (id, date)

也许你需要使用’内连接’或 ‘ WHERE t2.id is not null’ 如果您希望结果只匹配两个条件