Ich habe eine Mastertabelle mit Daten. Dann mehrere andere kleinere Tabelle, die mit der ID der anderen Tabelle verknüpft werden sollen:
Ich will nur Daten der Mastertabelle darstellen, die NICHT in der anderen Tabelle sind. Ich habe schon mehrere JOIN-Verknüpfungen versucht (LEFT JOIN, RIGHT JOIN). Hat aber nicht funktioniert. Kann mir jemand weiterhelfen?
Und mit mehreren:
genau dasselbe Problem wie oben nur mit mehreren Tabellen, d.h.:
Tabelle A hat alle Datensätze, Tabelle B, C und D Bruchteile von A, jedoch haben B, C und D jeweils andere Daten.
Jetzt möchte ich Tabelle A darstellen ohne die Daten, die mit B, C und D übereinstimmen? Wie geht das?
Ich habe eine Mastertabelle mit Daten. Dann mehrere andere
kleinere Tabelle, die mit der ID der anderen Tabelle verknüpft
werden sollen:
Ich will nur Daten der Mastertabelle darstellen, die NICHT in
der anderen Tabelle sind. Ich habe schon mehrere
JOIN-Verknüpfungen versucht (LEFT JOIN, RIGHT JOIN). Hat aber
nicht funktioniert. Kann mir jemand weiterhelfen?
SO(?):
SELECT \* FROM a WHERE NOT EXIST
(SELECT \* FROM b WHERE b.id = a.id);
oder
SELECT a.\* FROM a, b WHERE a.id=b.id(+) AND b.id IS NULL;
wobei das „(+)“ eine proprietäre Oracle-Erweiterung ist und einen outer join auf b bewirkt.
Und mit mehreren:
genau dasselbe Problem wie oben nur mit mehreren Tabellen,
d.h.:
Tabelle A hat alle Datensätze, Tabelle B, C und D Bruchteile
von A, jedoch haben B, C und D jeweils andere Daten.
Jetzt möchte ich Tabelle A darstellen ohne die Daten, die mit
B, C und D übereinstimmen? Wie geht das?
Vielen Dank
stefan
Genauso wie oben, nur daß Du die „not exist“ Klauseln eben für jede einzelne Tabelle mit AND verknüpfen mußt.