MySQL如何在两个字段上联接表


102

我有两个与dateid字段的表。我想同时参加这两个领域。我试过了

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

可以,但是非常慢。有一个更好的方法吗?

Answers:




27
SELECT * 
FROM t1
JOIN t2 USING (id, date)

也许您需要使用INNEER JOIN或t2.id不为null的情况,如果您希望结果仅匹配两个条件


1
基本上,慢是因为混凝土计算没有索引的新值,所以直接条件应该更快。即使该查询再次变慢,也要检查索引是否存在,有时为2个字段创建一个索引也很有意义。
尤金·卡洛夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.