• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

select invertieren

Status
Für weitere Antworten geschlossen.
E

Efchen

Guest
Moin,

ich suche nach einer Möglichkeit, das Ergebnis eines selects zu invertieren, also nicht die Ergebnisse anzuzeigen, die das select liefert, sondern genau das umgekehrte.

Oder anders ausgedrückt, ich will alle Einträge einer Tabelle, zu deren ID in einer anderen Tabelle kein Eintrag existiert.

Code:
select * from table1 a, table2 b where a.id=b.id
Und davon das umgekehrte, wo es in table2 keine id gibt, die in table1 vorkommt. Damit will ich die Tabelle von "Leichen" räumen, weil es immer einen Eintrag in beiden Tabellen geben muss.

Danke für Vorschläge,
-Efchen

P.S.: Ist schwer, wenn man nicht weiß, nach was man sucht, und das Manual zu select ist ja nicht gerade kurz :-)
 
Versuch mal folgendes:
Code:
SELECT * FROM table1  WHERE NOT EXISTS
 (SELECT *  FROM table2 WHERE table1.id = table2.id)
Gruß thuemmy

P.S. Du hättest auch nicht nach select sondern nach EXIST suchen sollen ;)
 
Du hättest auch nicht nach select sondern nach EXIST suchen sollen ;)
Siehst Du, das ist das Problem, wenn man nicht weiß, wonach man eigentlich suchen soll.

Das hat wunderbar geklappt, so wie ich das wollte. Vielen Dank dafür!

Gruß und schonmal frohe Weihnachten,
-Efchen
 
Ich gebe es aber ehrlich zu, ich musste auch erst mal nach dem richtigen Konstrukt gucken, war aber im Vorteil, dass ich noch vage in Erinnerung hatte, dass es EXIST und NOT EXIST gibt.

Viel Spaß beim DB-Leichen entfernen.

Gruß thuemmy
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben