SQL连接在同一个表中的多个列上

时间:2013-05-16 21:18:13

标签: sql join

我有2个子查询,但是我无法从同一个表中将列连接在一起。我试过了:

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 个答案:

答案 0 :(得分:153)

像这样加入:

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

答案 1 :(得分:52)

您想加入条件1和条件2,所以只需使用AND关键字,如下所示

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