2 Stimmen

SQL - Prüfen, ob alle Spalten in einer Tabelle auch in einer anderen Tabelle vorhanden sind

Ich habe 2 Tabellen (sagen wir A und B) in einer MS SQL DB, die Kundentransaktionen darstellen. Beide haben eine gemeinsame Spalte (z.B. Spalte X).

Idealerweise sind die Informationen in Tabelle B eine Teilmenge der Informationen in Tabelle A.

Kann ich eine SQL-Abfrage ausführen, um anhand von Spalte X zu prüfen, ob alle Werte in Tabelle B in Tabelle A vorhanden sind?

Danke

3voto

juergen d Punkte 194549
select X
from A
LEFT OUTER JOIN B on A.x = B.X
WHERE B.X IS NULL

um alle Datensätze aus der Tabelle zu erhalten A die nicht in der Tabelle stehen B . Oder

select X
from B
LEFT OUTER JOIN A on A.x = B.X
WHERE A.X IS NULL

um alle Datensätze aus der Tabelle zu erhalten B die nicht in der Tabelle stehen A .

3voto

Joe Stefanelli Punkte 128819

Hier ist die Prüfung, ob Zeilen der Tabelle B in der Tabelle A fehlen.

SELECT b.*
    FROM Table_B b
    WHERE NOT EXISTS(SELECT 1
                         FROM Table_A a
                         WHERE a.x = b.x);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X