[FIXED] SQL-Abfrage zum Vergleichen von zwei Spalten, wobei eine Spalte gleich einer Spalte in einer anderen Tabelle ist und die zweite Spalte nicht gleich der zweiten Spalte von t2 ist

Ausgabe

Die Tabellenstruktur ist wie folgt

t1 PK:(ID,Element)

Ich würde Artikel
1 1
1 2
1 3
2 1
2 2
2 3

t2 PK:(ID,Element)

Ich würde Artikel
1 1
1 2
2 1
2 3

Ausgabe erwartet: t1

Ich würde Artikel
1 3
2 2

Ich habe die folgende Abfrage ausprobiert, aber sie hat nicht funktioniert. Ich erhalte alle Datensätze von t1, während die Erwartung ist, dass nur die in t2 nicht übereinstimmen. Hinweis: Ich versuche es ohne Verwendung der Unterabfrage

select 
    a.id, a.item 
from 
    t1 a, t2 b, 
where 
    a.id = b.id and b.item <> b.item;

Lösung

Die Logik in Ihrer WHEREKlausel kann zum Laufen gebracht werden, wenn wir Ihre Abfrage mit “exists” umformulieren:

SELECT id, item
FROM yourTable t1
WHERE NOT EXISTS (
    SELECT 1
    FROM yourTable t2
    WHERE t2.id = t1.id AND t2.item = t1.item
);


Beantwortet von –
Tim Biegeleisen


Antwort geprüft von –
Candace Johnson (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

[FIXED] Wählen Sie Werte aus dem XML-Feld in SQL Server 2008 aus

Ausgabe Wenn ich mir nur mein XML-Feld ansehe, sehen meine Zeilen so aus: <person><firstName>Jon</firstName><lastName>Johnson</lastName></person> <person><firstName>Kathy</firstName><lastName>Carter</lastName></person> <person><firstName>Bob</firstName><lastName>Burns</lastName></person> Beachten Sie,…