165

我有 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

任何帮助表示赞赏。

4

2 回答 2

250

您需要将第二个替换为ONAND如下所示:

ON a.userid = b.sourceid AND a.listid = b.destinationid;
于 2013-05-16T21:19:46.137 回答
89

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

ON a.userid = b.sourceid AND a.listid = b.destinationid;
于 2013-05-16T21:21:16.890 回答