Guten Morgen!
Ich kämpfe schon länger mit folgender Abfrage:
Ich habe eine Tabelle mit Auftragen (ord) und eine mit den dazugehörigen Positionen (position). Die Aufträge müssen den Status 'o1' haben und die Positionen können den Status p1 bis p18 haben, dürfen aber nur Status p15 bis p18 haben.
Die Abfrage soll jetzt nur jene Auftragsnummer liefern, die in den Positionen NUR p15 bis p18 haben, doch leider funzt das hier nicht:
SELECT DISTINCT ord.order_id FROM ord LEFT JOIN position ON ord.order_id=position.order_id
WHERE ord.status='o1'
AND ( position.status='p15' OR position.status='p16' OR position.status='p17' OR position.status='p18')
AND (position.status!='p1' OR position.status!='p2' OR position.status!='p3'
OR position.status!='p4' OR position.status!='p5'
OR position.status!='p6' OR position.status!='p7'
OR position.status!='p8' OR position.status!='p9'
OR position.status!='p10' OR position.status!='p11' OR
position.status!='p12' OR position.status!='p14')
Weiss jemand Rat? Vielen Dank für eure Hilfe!
Ich kämpfe schon länger mit folgender Abfrage:
Ich habe eine Tabelle mit Auftragen (ord) und eine mit den dazugehörigen Positionen (position). Die Aufträge müssen den Status 'o1' haben und die Positionen können den Status p1 bis p18 haben, dürfen aber nur Status p15 bis p18 haben.
Die Abfrage soll jetzt nur jene Auftragsnummer liefern, die in den Positionen NUR p15 bis p18 haben, doch leider funzt das hier nicht:
SELECT DISTINCT ord.order_id FROM ord LEFT JOIN position ON ord.order_id=position.order_id
WHERE ord.status='o1'
AND ( position.status='p15' OR position.status='p16' OR position.status='p17' OR position.status='p18')
AND (position.status!='p1' OR position.status!='p2' OR position.status!='p3'
OR position.status!='p4' OR position.status!='p5'
OR position.status!='p6' OR position.status!='p7'
OR position.status!='p8' OR position.status!='p9'
OR position.status!='p10' OR position.status!='p11' OR
position.status!='p12' OR position.status!='p14')
Weiss jemand Rat? Vielen Dank für eure Hilfe!
Kommentar