SQL Server: Überprüfen Sie, ob alle Zeilen in einer anderen Tabelle vorhanden sind

8

Ich muss wissen, ob alle Zeilen einer Tabelle in anderen existieren:

%Vor%

Diese Abfrage gibt yes exists zurück, sollte aber no, doesn't exist zurückgeben, da nur 1 in @Table2 existiert, Werte 4 und 5 nicht.

Was soll ich in meiner Anfrage ändern? Danke!

    
ihorko 27.04.2012, 15:46
quelle

4 Antworten

8
%Vor%     
John Dewey 27.04.2012, 15:56
quelle
2

Sie könnten EXCEPT verwenden, um den festgelegten Unterschied beider Tabellen zu erhalten. Wenn IDs zurückgegeben werden, sind beide Tabellen nicht gleich:

%Vor%

EXCEPT gibt beliebige andere Werte aus der linken Abfrage zurück, die nicht auch in der richtigen Abfrage gefunden werden.

Also, um Ihre "Nein, existiert nicht" :

%Vor%     
Tim Schmelter 27.04.2012 15:57
quelle
0
%Vor%     
RedFilter 27.04.2012 15:55
quelle
0

Dies würde funktionieren, solange beide ID-Spalten eindeutig sind (was sie sein sollten, wenn sie IDs sind)

%Vor%     
therealmitchconnors 27.04.2012 15:55
quelle

Tags und Links