SELECT d.I_CUSTOMER_M, d.S_CUSTNO, d.S_CUSTNAME1, d.D_DELIVDATE, d.I_DELIVERY_P, d.S_DELIVNO, dp.S_ITEMDESC1, ig1.S_DESCRIPTION AS Artikelgruppe,ig2.S_DESCRIPTION AS Warengruppe, ig3.S_DESCRIPTION AS Produktgruppe,dp.N_ITEMQUANTITY , d.B_RET, CASE WHEN N_PRICEUNIT = 10 AND d.b_ret = 0 THEN dp.N_DISCOUNTPRICE/10 * dp.n_packquantity WHEN N_PRICEUNIT = 100 AND d.b_ret = 0 THEN dp.N_DISCOUNTPRICE/100 * dp.n_packquantity WHEN N_PRICEUNIT = 1000 AND d.b_ret = 0 THEN dp.N_DISCOUNTPRICE/1000 * dp.n_packquantity WHEN N_PRICEUNIT = 10 AND d.b_ret = 1 THEN dp.N_DISCOUNTPRICE/10 * dp.n_packquantity *-1 WHEN N_PRICEUNIT = 100 AND d.b_ret = 1 THEN dp.N_DISCOUNTPRICE/100 * dp.n_packquantity * -1 WHEN N_PRICEUNIT = 1000 AND d.b_ret = 1 THEN dp.N_DISCOUNTPRICE/1000 * dp.n_packquantity *-1 ELSE dp.N_DISCOUNTPRICE * dp.N_PACKQUANTITY END AS Umsatz, CASE WHEN N_PRICEUNIT = 10 AND d.b_ret = 0 THEN dp.N_DISCOUNTPRICE/10 * dp.n_packquantity - dp.N_PURCHASEPRICE/10 * dp.N_packquantity WHEN N_PRICEUNIT = 100 AND d.b_ret = 0 THEN dp.N_DISCOUNTPRICE/100 * dp.n_packquantity - dp.N_PURCHASEPRICE/100 * dp.N_packquantity WHEN N_PRICEUNIT = 1000 AND d.b_ret = 0 THEN dp.N_DISCOUNTPRICE/1000 * dp.n_packquantity - dp.N_PURCHASEPRICE/1000 * dp.N_packquantity WHEN N_PRICEUNIT = 10 AND d.b_ret = 1 THEN dp.N_DISCOUNTPRICE/10 * dp.n_packquantity - dp.N_PURCHASEPRICE/10 * dp.N_packquantity * -1 WHEN N_PRICEUNIT = 100 AND d.b_ret = 1 THEN dp.N_DISCOUNTPRICE/100 * dp.n_packquantity - dp.N_PURCHASEPRICE/100 * dp.N_packquantity *-1 WHEN N_PRICEUNIT = 1000 AND d.b_ret = 1 THEN dp.N_DISCOUNTPRICE/1000 * dp.n_packquantity - dp.N_PURCHASEPRICE/1000 * dp.N_packquantity *-1 ELSE dp.N_DISCOUNTPRICE * dp.n_packquantity - dp.N_PURCHASEPRICE * dp.N_packquantity END AS DB FROM sao.DELIVERY_P d, sao.DELIVPOS_P dp, sao.ITEMGROUP1_P ig1, sao.ITEMGROUP2_P ig2, sao.ITEMGROUP3_P ig3 WHERE Datepart(yyyy, Getdate()) - Datepart(yyyy, d.d_delivdate) <= 3 AND d.dt_deleted IS NULL AND d.I_DELIVERY_P > 0 AND d.I_DELIVERY_P = dp.I_DELIVERY_P AND dp.I_ITEMGROUP1_P = ig1.I_ITEMGROUP1_P AND dp.I_ITEMGROUP2_P = ig2.I_ITEMGROUP2_P AND dp.I_ITEMGROUP3_P = ig3.I_ITEMGROUP3_PSo eigentlich wahrscheinlich relativ simpel, aber irgendwie möchte es nicht funktionieren. Und zwar müsste überall wo B_RET = 1 ist das Ergebnis im negativen Bereich raus kommen, er gibt es mir aber noch immer als positiv aus wodurch dann natürlich die Umsatz Zahlen verfälscht sind. Wie müsste es denn richtig gehen?
↧
Case When Berechnung
↧