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 WHERE
Klausel 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)