Hallo zusammen,
es geht um folgendes SQL-Statement:
SELECT palettenvarianten.PALETTENVARIANTEN_ID, pa.*,
(SELECT wert FROM palettentypen WHERE feldbezeichnung = 'Offlinefertigung' AND palettentypen.palettype = pa.palettype) as offline_wert,
(SELECT wert FROM palettentypen WHERE feldbezeichnung = 'Fertigung möglich' AND palettentypen.palettype = pa.palettype) as fertigung_wert
FROM produktionsauftraege pa
LEFT JOIN palettenvarianten ON (pa.WIDTH = palettenvarianten.palettenbreite) AND
(pa.ZLENGTH = palettenvarianten.palettenlaenge) AND
(pa.PALETTYPE = palettenvarianten.palettentyp)
WHERE produktionsauftraege.status IN (0, 1, 2, 3, 5) AND
[color=SeaGreen]palettenvarianten.variantenstatus = 1[/color]
ORDER BY priority, produktions_id
Ich möchte alle Datensätze aus der Tabelle produktionsaufträge anzeigen. Dazu die entsprechenden Datensätze aus der tabelle palettenvarianten, wobei die palettenvarianten nicht zwangsläufig gefüllt sein muss. Das funktioniert per LEFT JOIN auch tadellos.
Probleme bereiten mir die WHERE-Bedingungen. Die grün gefärbte WHERE-Bedingung hebelt den LEFT JOIN aus. Gibt es eine Möglichkeit dieses Problem elegant zu lösen/zu umgehen?
Vielen Dank im Vorraus!