Pertanyaan SQL bergabung di beberapa kolom dalam tabel yang sama


Saya memiliki 2 subkueri, tapi saya kesulitan menggabungkan kolom bersama dari tabel yang sama. Saya mencoba:

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;

Jika saya hanya mengakhiri kueri dengan ON a.userid = b.sourceid itu berhasil, tetapi bagaimana saya bisa juga bergabung dengan tabel ini di kolom lain juga ON a.listid = b.destinationid ??

Setiap bantuan dihargai.


75
2018-05-16 21:18


asal


Jawaban:


Bergabunglah seperti ini:

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

121
2018-05-16 21:19



Anda ingin bergabung dengan ketentuan 1 DAN ketentuan 2, jadi cukup gunakan kata kunci DAN seperti di bawah ini

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

40
2018-05-16 21:21