2.8k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Ich habe folgendes Problem:

Es gibt 2 Tabellen, in beiden Tabellen gibt es jeweils 2 gleiche Spalten. Ich will nun die Datensätze aus beiden Tabellen vergleichen und wenn in der ersten Tabelle ein Datensatz eingetragen ist, er aber nicht in der zweiten Tabelle existiert, dass er ihn mir Anzeigt.

Beispiel:

Tabelle 1
Spalte 1 Spalte 2
aaaaa 1234
bbbbb 9876

Tabelle 2
Spalte 1 Spalte 2
aaaaa 1234
bbbbb 9876
babab 0000
aaaaa 0000
aaaaa 9876

Wenn überhaupt kein Eintrag vorhanden ist zu Spalte1 oder 2, hier mit dem "babab" und "0000", bekomme ich angezeigt. Auch wenn zwar "aaaaa" in der oberen Tabelle vorhanden ist, aber die "0000" nicht. Mein Problem besteht da drin, dass bei dem Beispiel hier, zwar "aaaaa" und "9876" in der oberen Tabelle vorkommen, aber nicht in der Kombination zusammen. Das bekomme ich leider nicht gefiltert

Am Ende müssten mir dann also die Datensätze
babab 0000
aaaaa 0000
aaaaa 9876

angezeigt werden, doch der "aaaaa" mit "9876" fehlt mir immer.

Ich hoffe, dass mir wer weiterhelfen kann

5 Antworten

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Unter Oracle ein Kinderspiel - unter MySQL etwas schwerer. Von welchem DBMS sprechen wir?
0 Punkte
Beantwortet von
Ich benutze DB2
0 Punkte
Beantwortet von
hmm, merke gerade als Gast kann man nicht editieren :(

Version 8.1.5
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Damit kenne ich mich überhaupt nicht aus. Eventuell
select b.spalte1, b.spalte2 from tabelle2 b where not exists (select 'x' from tabelle1 a where a.spalte1= b.spalte1 and a.spalte2= b.spalte2);
0 Punkte
Beantwortet von
Ich danke dir für die schnelle Hilfe!!!

Es klappt

In dem Sinne ein schönes Wochende
...