2009-01-31 52 views
79

我有dateid兩個字段的表。我想加入這兩個領域。我試過MySQL如何在兩個字段上連接表

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

這樣的工作,但它很慢。有一個更好的方法嗎?

回答

137
JOIN t2 ON t1.id=t2.id AND t1.date=t2.date 
28
JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date) 
18
SELECT * 
FROM t1 
JOIN t2 USING (id, date) 

也許你需要使用INNEER JOIN或 :如果你想要的結果只有符合這兩個條件

+0

基本上t2.id不爲空 ,緩慢是因爲具體的計算新指標沒有指標,因此直接條件應該更快。 如果即使這個查詢會再次變慢,檢查是否存在索引,並且有時爲2個字段創建一個索引也是有意義的。 – 2013-05-14 09:25:07