einfache SQL abfrage
tach auch,
hab eigentlich eine einfache sql abfrage, aber irgendwie bin ich zu doof.
habe zwei tabellen, die ich über 'artikelNr' verknüpfe
nun möchte ich alle artikelNr ausgegeben haben, die nicht in der anderen tabelle vorhanden sind. doppelte artikelnummern nur einmal anzeigen.
eigentlich einfach, oder? aber ich stehe grad voll auf dem schlauch.
(ich habe eine 8 er Oracle. daher nichts mit inner join..)
thx
trombe
hab eigentlich eine einfache sql abfrage, aber irgendwie bin ich zu doof.
habe zwei tabellen, die ich über 'artikelNr' verknüpfe
nun möchte ich alle artikelNr ausgegeben haben, die nicht in der anderen tabelle vorhanden sind. doppelte artikelnummern nur einmal anzeigen.
eigentlich einfach, oder? aber ich stehe grad voll auf dem schlauch.
(ich habe eine 8 er Oracle. daher nichts mit inner join..)
thx
trombe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 12497
Url: https://administrator.de/forum/einfache-sql-abfrage-12497.html
Ausgedruckt am: 25.12.2024 um 07:12 Uhr
4 Kommentare
Neuester Kommentar
Da fallen mir auf Anhieb vier Möglichkeiten ein, welches die schnellste ist hängt von den Daten ab und muß man mal ausprobieren:
1. NOT EXISTS
SELECT artikel_nr FROM tabelle1 t1 WHERE NOT EXISTS (SELECT artikel_nr FROM tabelle2 t2 WHERE t2.artikel_nr = t1.artikel_nr);
2. NOT IN
SELECT artikel_nr FROM tabelle1 WHERE artikel_nr NOT IN (SELECT artikel_nr FROM tabelle2);
3. MINUS
SELECT artikel_nr FROM tabelle1 MINUS SELECT artikel_nr FROM tabelle2;
4. OUTER JOIN
SELECT t1.artikel_nr FROM tabelle1 t1, tabelle2 t2 WHERE t1.artikel_nr = t2.artikel_nr (+) AND t2.artikel_nr IS NULL;
Wenn die artikel_nr mehrfach kommt, hilft im Zweifel DISTINCT, also: SELECT DISTINCT artikel_nr FROM ...
Bissl spät, aber fürs nächste Mal weißt Du, wie es geht
1. NOT EXISTS
SELECT artikel_nr FROM tabelle1 t1 WHERE NOT EXISTS (SELECT artikel_nr FROM tabelle2 t2 WHERE t2.artikel_nr = t1.artikel_nr);
2. NOT IN
SELECT artikel_nr FROM tabelle1 WHERE artikel_nr NOT IN (SELECT artikel_nr FROM tabelle2);
3. MINUS
SELECT artikel_nr FROM tabelle1 MINUS SELECT artikel_nr FROM tabelle2;
4. OUTER JOIN
SELECT t1.artikel_nr FROM tabelle1 t1, tabelle2 t2 WHERE t1.artikel_nr = t2.artikel_nr (+) AND t2.artikel_nr IS NULL;
Wenn die artikel_nr mehrfach kommt, hilft im Zweifel DISTINCT, also: SELECT DISTINCT artikel_nr FROM ...
Bissl spät, aber fürs nächste Mal weißt Du, wie es geht