Hallo zusammen,
ich habe von meinem Freund folgende Syntax bekommen:
select
M5.SACHNR
, M5.AI
, M5.IDENT_NR
, M5.VERKAUFS_DATUM
, BL.PLAN_STUECK_EINZELPREIS
, BL.IST_STUECK_EINZELPREIS as GPS_Stueck_EP
from
(((Materialkosten.VMVOM5 M5 LEFT OUTER JOIN Materialkosten.VMVOW4 W4 on
M5.BELEGNR = W4.WENR
and M5.BELEGINDEX = W4.POSNR)
LEFT OUTER JOIN Materialkosten.VMVOBL BL on
W4.MANDANT_NR = BL.MANDANT_NR
and W4.VORGANG = BL.VORGANG
and W4.VERSION = BL.VERSION
and W4.POSNR = BL.POSNR
and W4.STAFFELNR = BL.STAFFELNR)
LEFT OUTER JOIN Materialkosten.VMVOBH BH on
BL.MANDANT_NR = BH.MANDANT_NR
and BL.VORGANG = BH.VORGANG
and BL.VERSION = BH.VERSION
and BL.POSNR = BH.POSNR)
LEFT OUTER JOIN Materialkosten.VMVOBP BP on
BH.MANDANT_NR = BP.MANDANT_NR
and BH.VORGANG = BP.VORGANG
and BH.VERSION = BP.VERSION
where 1 = 1
and BP.STATUS = 'F'
and BL.ERLEDIGUNGS_KZ = 'W'
and M5.BS in ('40', '44')
and M5.VERKAUFS_DATUM >= to_date(&Ab_Datum, 'DD-MM-YYYY')
and M5.VERKAUFS_DATUM <= to_date(&Bis_Datum, 'DD-MM-YYYY')
and (M5.MANDANT_NR = &Mandant or M5.MANDANT_NR is null)
and (BL.MANDANT_NR = &Mandant or BL.MANDANT_NR is null)
and (BP.MANDANT_NR = &Mandant or BP.MANDANT_NR is null)
and (W4.MANDANT_NR = &Mandant or W4.MANDANT_NR is null)
and (BH.MANDANT_NR = &Mandant or BH.MANDANT_NR is null)
order by M5.SACHNR asc, M5.AI asc, M5.IDENT_NR asc
Er fargt mich ob ich mal eine Blicki drauf werfen kann und Ihm sagen kann, ob daas so richtig ist. Bei Ihm erscheint immer eine Fehlermeldung, die er mir allerings noch nicht geschickt hat.
Kein mir jemand von Euch sagen, ob die Syntax, unabhängig von dem was rauskommern soll richtig ist.
Ich weiß z.B mit der Where Claus 1= 1 nichts anzufangen. Ist das ein Kreuzprodukt?
Vielen Dank
ich habe von meinem Freund folgende Syntax bekommen:
select
M5.SACHNR
, M5.AI
, M5.IDENT_NR
, M5.VERKAUFS_DATUM
, BL.PLAN_STUECK_EINZELPREIS
, BL.IST_STUECK_EINZELPREIS as GPS_Stueck_EP
from
(((Materialkosten.VMVOM5 M5 LEFT OUTER JOIN Materialkosten.VMVOW4 W4 on
M5.BELEGNR = W4.WENR
and M5.BELEGINDEX = W4.POSNR)
LEFT OUTER JOIN Materialkosten.VMVOBL BL on
W4.MANDANT_NR = BL.MANDANT_NR
and W4.VORGANG = BL.VORGANG
and W4.VERSION = BL.VERSION
and W4.POSNR = BL.POSNR
and W4.STAFFELNR = BL.STAFFELNR)
LEFT OUTER JOIN Materialkosten.VMVOBH BH on
BL.MANDANT_NR = BH.MANDANT_NR
and BL.VORGANG = BH.VORGANG
and BL.VERSION = BH.VERSION
and BL.POSNR = BH.POSNR)
LEFT OUTER JOIN Materialkosten.VMVOBP BP on
BH.MANDANT_NR = BP.MANDANT_NR
and BH.VORGANG = BP.VORGANG
and BH.VERSION = BP.VERSION
where 1 = 1
and BP.STATUS = 'F'
and BL.ERLEDIGUNGS_KZ = 'W'
and M5.BS in ('40', '44')
and M5.VERKAUFS_DATUM >= to_date(&Ab_Datum, 'DD-MM-YYYY')
and M5.VERKAUFS_DATUM <= to_date(&Bis_Datum, 'DD-MM-YYYY')
and (M5.MANDANT_NR = &Mandant or M5.MANDANT_NR is null)
and (BL.MANDANT_NR = &Mandant or BL.MANDANT_NR is null)
and (BP.MANDANT_NR = &Mandant or BP.MANDANT_NR is null)
and (W4.MANDANT_NR = &Mandant or W4.MANDANT_NR is null)
and (BH.MANDANT_NR = &Mandant or BH.MANDANT_NR is null)
order by M5.SACHNR asc, M5.AI asc, M5.IDENT_NR asc
Er fargt mich ob ich mal eine Blicki drauf werfen kann und Ihm sagen kann, ob daas so richtig ist. Bei Ihm erscheint immer eine Fehlermeldung, die er mir allerings noch nicht geschickt hat.
Kein mir jemand von Euch sagen, ob die Syntax, unabhängig von dem was rauskommern soll richtig ist.
Ich weiß z.B mit der Where Claus 1= 1 nichts anzufangen. Ist das ein Kreuzprodukt?
Vielen Dank
Comment