Соединение SQL для нескольких столбцов в одних и тех же таблицах

137

У меня есть 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?

Любая помощь приветствуется.

user1899415
источник
2
спасибо за ответы .. argh просто не было ";" в конце запроса ранее
user1899415

Ответы:

202

Присоединяйтесь так:

ON a.userid = b.sourceid AND a.listid = b.destinationid;
Зоран Хорват
источник
7
Это кажется очевидным, оглядываясь назад, но я хотел отметить, что операционная система тоже работает, вы просто получаете МНОГО записей.
wastubbs
69

Вы хотите присоединиться к условию 1 И условию 2, поэтому просто используйте ключевое слово AND, как показано ниже.

ON a.userid = b.sourceid AND a.listid = b.destinationid;
Пол Маклафлин
источник