Об'єднання 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 просто не було ";" наприкінці запиту раніше
користувач1899415

Відповіді:


201

Приєднуйтесь так:

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

7
Це здається очевидним, озираючись на це, але я хотів зазначити, що АБО працює також, ви просто закінчите багато записів.
wastubbs

68

Ви хочете приєднатися за умови 1 І умова 2, тому просто використовуйте ключове слово AND, як показано нижче

ON a.userid = b.sourceid AND a.listid = b.destinationid;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.