2013-05-16 21 views
67

Mam 2 podzapytania, ale mam problemy z łączeniem kolumn z tych samych tabel. Próbowałem:Łączenie SQL w wielu kolumnach w tych samych tabelach

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; 

Gdybym po prostu zakończyć zapytanie z ON a.userid = b.sourceid to działa, ale jak mogę również połączyć te tabele na innej kolumnie również ON a.listid = b.destinationid ??

Każda pomoc doceniona.

+2

dzięki za odpowiedzi .. argh prostu nie zrobił” t mieć ";" na końcu zapytania wcześniej – user1899415

Odpowiedz

105

Dołącz tak:

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

Wydaje się oczywiste, patrząc wstecz, ale chciałem zauważyć, że OR działa również, po prostu skończyć z dużą ilością rekordów. – wastubbs

29

Chcesz dołączyć na warunek 1 i warunek 2, tak po prostu użyć słowa kluczowego I jak poniżej

ON a.userid = b.sourceid AND a.listid = b.destinationid; 
Powiązane problemy