同じテーブルの複数の列でのSQL結合


136

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
答えてくれてありがとう.. arghには ";"がありませんでした。以前のクエリの終わり
user1899415 2013年

回答:


201

このように参加します:

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

7
振り返ってみると当たり前のようですが、ORも機能するので、レコードが大量になってしまうことに注意してください。
wastubbs 2014年

68

条件1 AND条件2で結合したいので、以下のようにANDキーワードを使用します

ON a.userid = b.sourceid AND a.listid = b.destinationid;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.