dedlfix: SQL Abfrage mit zwei Artikelnummern

Beitrag lesen

Tach!

kannst Du mir dafür ein Beispiel geben? Es ist zwar logisch aber für micht nicht verständlich :-)

Du schreibst zunächst die Subquery so, dass sie den gewünschten einzelnen Wert für eine per Hand festgelegte Bedingung liefert. Also in deinem Fall, wenn die Hauptquery theoretisch herausgefunden hat, dass der Zusatzartikel x gewünscht ist, wäre die Bedingung WHERE Artikelnummer = x. Diese Subquery kannst du auch einfach so testen, dass sie das gewünschte Verhalten zeigt. Ist das der Fall, baust du sie anstelle eines Feldes im SELECT-Teil deiner eigentlichen Query ein und ersetzt in der Bedingung den festen Wert durch einen Verweis auf ein Feld der Hauptquery. Das ist der korrelierende Teil an der Geschichte, die Hauptquery stellt den Wert für die Bedingung in der Subquery.

Nachfolgend das Prinzip, das du an deine Verhältnisse anpassen musst.

SELECT foo, bar, (SELECT qux FROM table2 WHERE foo = t1.foo) qux FROM table1 t1 WHERE ...

Subquerys auch in der correlated Variante sind auch im MySQL-Handbuch (oder in dem deines Systems) beschrieben.

dedlfix.