2013-07-04 25 views
5

Ich versuche die Zeilen zu finden, die alle vier Tabellen gemeinsam haben. Ich habe versucht, dies mit:Mit Schnittpunkt auf mehr die zwei Tabellen?

SELECT * 
FROM TABLE1 
INTERSECT 
SELECT * 
FROM TABLE2 
INTERSECT 
SELECT * 
FROM TABLE3 
INTERSECT 
SELECT * 
FROM TABLE4;  

bekam aber keine Ergebnisse, ich weiß, es gibt Zeilen, die diese Anforderung erfüllen. Da ich stattdessen union verwende und "order by" hinzufüge, sehe ich vier Zeilen mit derselben Beschreibung aus verschiedenen Tabellen.

Antwort

5

Verwendung INNER JOIN mit Bedingungen auf den Feldern, die Sie
wollen ex:

SELECT 
    t1.* 
FROM 
    TABLE1 t1 
INNER JOIN TABLE2 t2 
    ON t1.field1 = t2.field1 
    AND t1.field2 = t2.field2 
    ... 
INNER JOIN TABLE2 t3 
    ON t1.field1 = t3.field1 
    AND t1.field2 = t3.field2 
... 
+0

@Ferium Ihr Recht, sein nicht 'INTERSECT' thx – Stephan

+0

@Ferium aber' INNER JOIN' die Jobs – Stephan

+0

@Ferium Show tun die Frage, die Sie verwendeten – Stephan