Соединение 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?

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


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;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.