JudAD
Fleissiger Benutzer
- Beiträge
- 71
Hallo Zusammen,
ich stehe mal wieder auf dem Schlauch und finde keine Lösung.
Ich muss für eine Auswertung ein Script erstellen dass bis auf den letzten Teil in Fett ganz gut funktioniert.
Die Bedingungen im ersten Teil der where-Klausel werden dynamisch vom Programm geliefert. In Abhängigkeit von der Bedingung "beas_ftapl.pos_id =" sollen nur bestimmte Datensätze angezeigt werden.
Ist die Bedingung beas_ftapl.pos_id = 10 dann sollen alle Datensätze angezeigt werden die im Feld "beas_ftstl.aplanpos_id" entweder eine 10 oder NULL stehen haben. Ist die Bedingung z.B. beas_ftapl.pos_id = 20 (oder ein Wert != 10) dann dürfen nur Datensätze angezeigt werden die im Feld beas_ftstl.aplanpos_id eine 20 (oder die entsprechende Zahl != 10) stehen haben.
select beas_ftstl.belnr_id, beas_ftstl.belpos_id, beas_ftapl.pos_id, beas_ftpos.itemcode, beas_ftstl.art1_id, oitm.ItemName, beas_ftstl.aplanpos_id
from beas_ftstl
join beas_ftpos on beas_ftstl.belnr_id = beas_ftpos.belnr_id and beas_ftstl.belpos_id = beas_ftpos.belpos_id
join beas_ftapl on beas_ftstl.belnr_id = beas_ftapl.belnr_id and beas_ftstl.belpos_id = beas_ftapl.belpos_id
join oitm on beas_ftstl.art1_id = oitm.ItemCode
where beas_ftstl.belnr_id = '113019' and beas_ftstl.belpos_id = '10' and beas_ftapl.pos_id = '10'
and (beas_ftstl.aplanpos_id =
case
when beas_ftapl.pos_id = '10' then (NULL or '10')
else beas_ftapl.pos_id
end)
Wie könnte ich das lösen?
Danke vorab
ich stehe mal wieder auf dem Schlauch und finde keine Lösung.
Ich muss für eine Auswertung ein Script erstellen dass bis auf den letzten Teil in Fett ganz gut funktioniert.
Die Bedingungen im ersten Teil der where-Klausel werden dynamisch vom Programm geliefert. In Abhängigkeit von der Bedingung "beas_ftapl.pos_id =" sollen nur bestimmte Datensätze angezeigt werden.
Ist die Bedingung beas_ftapl.pos_id = 10 dann sollen alle Datensätze angezeigt werden die im Feld "beas_ftstl.aplanpos_id" entweder eine 10 oder NULL stehen haben. Ist die Bedingung z.B. beas_ftapl.pos_id = 20 (oder ein Wert != 10) dann dürfen nur Datensätze angezeigt werden die im Feld beas_ftstl.aplanpos_id eine 20 (oder die entsprechende Zahl != 10) stehen haben.
select beas_ftstl.belnr_id, beas_ftstl.belpos_id, beas_ftapl.pos_id, beas_ftpos.itemcode, beas_ftstl.art1_id, oitm.ItemName, beas_ftstl.aplanpos_id
from beas_ftstl
join beas_ftpos on beas_ftstl.belnr_id = beas_ftpos.belnr_id and beas_ftstl.belpos_id = beas_ftpos.belpos_id
join beas_ftapl on beas_ftstl.belnr_id = beas_ftapl.belnr_id and beas_ftstl.belpos_id = beas_ftapl.belpos_id
join oitm on beas_ftstl.art1_id = oitm.ItemCode
where beas_ftstl.belnr_id = '113019' and beas_ftstl.belpos_id = '10' and beas_ftapl.pos_id = '10'
and (beas_ftstl.aplanpos_id =
case
when beas_ftapl.pos_id = '10' then (NULL or '10')
else beas_ftapl.pos_id
end)
Wie könnte ich das lösen?
Danke vorab