Hallo,
Wir gehen von folgender Beispieldatenbankstruktur aus
auftragnr | artikel
1000 | 23
1000 | 33
1000 | 34
1001 | 34
1002 | 23
1002 | 25
1003 | 24Es sollen nun alle Zeilen mit Artikel "23" ausgegben werden und alle Zweilen, die diese Auftragnr haben.
auftragnr | artikel
1000 | 23
1000 | 33
1000 | 34
1002 | 23
1002 | 25
d.h. gib mir alle Artikel aus den Aufträgen, die Artikel 23 enthalten. Typischer Fall für ein Subselect:
SELECT -- gib mir
t1.auftragnr, -- Auftragsnummer
t1.artikel -- und Artikel
FROM -- aus
tabelle t1 -- meiner Tabelle.
WHERE -- Dabei interessieren mich nur
auftragnr IN ( -- die Aufträge,
SELECT -- die in der Liste
t2.auftragnr -- der Aufträge enthalten sind
FROM
tabelle t2
WHERE -- die
t2.artikel = 23 -- Artikel 23 enthalten.
)
Beachte zusätzlich die Hinweise zur Optimierung von Subselects mit IN-Operator.
Freundliche Grüße
Vinzenz