2013-05-16 140 views
67

我有2個子查詢,但我無法從同一個表中將列連接在一起。我想:在同一個表中的多個列上的SQL連接

SELECT * FROM 

(SELECT userid, listid 
FROM user_views_table 
WHERE date='2013-05-15' AND view_type='lists') a 

JOIN 

(SELECT sourceid, destinationid 
FROM actions_table 
WHERE date='2013-05-15' AND payloadtype='lists_user' AND actiontype='delete') b 

ON a.userid = b.sourceid 
ON a.listid = b.destinationid; 

如果我只是結束與ON a.userid = b.sourceid它的工作原理的查詢,但我怎麼也加入到另一個列也ON a.listid = b.destinationid這些表?

任何幫助表示讚賞。

+2

謝謝你的答案..哎呀只是沒」沒有「;」在查詢早期結束時 – user1899415

回答

105

加入這樣的:

ON a.userid = b.sourceid AND a.listid = b.destinationid; 
+1

回想起來似乎很明顯,但我想指出一個OR也可以工作,你最終會得到很多記錄。 – wastubbs

29

你想加入的條件1和條件2,所以只需使用AND關鍵字如下

ON a.userid = b.sourceid AND a.listid = b.destinationid; 
相關問題