web-dev-qa-db-ja.com

同じ表の複数の列に対するSQL結合

副照会が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と別の列で結合するにはどうすればよいでしょうか。

任意の助けをいただければ幸いです。

101
user1899415

このように参加する:

ON a.userid = b.sourceid AND a.listid = b.destinationid;
156
Zoran Horvat

あなたは条件1 AND条件2で参加したいので、以下のように単純にANDキーワードを使用してください

ON a.userid = b.sourceid AND a.listid = b.destinationid;
54
Paul McLoughlin