2013-05-03 17 views
-1

在MySQL 2個表,我有以下MySQL查詢:如何加入上的ID 2

SELECT dispositions.name as disposition_name,leads.first_name,leads.city,leads.province_state,leads.country 
FROM leads 
LEFT JOIN dispositions ON leads.disposition_id_1=dispositions.id 

此查詢連接場上disposition_id_1 2個表(leadsdispositions)。
這工作正常,並顯示我的結果。

問題是我在我的leads表中有第二個字段,名爲disposition_id_2,它與我的dispositions表一起加入,就像字段disposition_id_1一樣。所以這兩個字段都與同一個表相關,並由ID加入。

那麼,如何在第二個字段(disposition_id_2)上將處理表與第disposition_id_1表中的處理表連接在一起?

回答

1

您可以使用相同的ID加入多個字段,這無關緊要。

SELECT dispositions.name 
as 
disposition_name, 
leads.first_name, 
leads.city, 
leads.province_state, 
leads.country 
FROM 
leads 
LEFT JOIN 
dispositions 
ON leads.disposition_id_1=dispositions.id 
AND leads.disposition_id_2=dispositions.id 

在這裏它將得到id_1和id_2都等於dispositions.id的所有記錄。如果你只需要要匹配字段使用OR代替AND

+0

確定 - 不過是「disposition.name」要disposition_id_1或disposition_id_2的價值? – Andrew 2013-05-03 18:24:13

+0

將只有一個'disposition.name'(假設它是disposition.name而不是disposition_name),並且將會轉到'dispositions.id'的值'NOT lead.disposition_id_ *' – raidenace 2013-05-03 18:31:13

0

您可以多次參加表與別名:

SELECT somefield, t1.x, t2.x 
FROM ... 
JOIN othertable AS t1 ON ... 
JOIN othertable AS t2 ON ...