Forum
Bildirimler
Hepsini Temizle
SQL Server
3
Yazılar
1
Üyeler
0
Reactions
1,241
Görüntüleme
Konu başlatıcı
Merhabalar
Bir Sorguda kullanmam gereken bir işlem var. bu işlemi düz mantık olarak ben yazdım. ama hesap edemediğim şöyle bir durum ortaya çıktı.
sqlden gelen değer 0 olunca bu işlem hata veriyor. sql sorugusunu ekliyorum
(SUM(ABS(Invoices.Loc_TaxBase) * (CASE WHEN Invoices.IsReturn = 1 THEN -1 ELSE 1 END)) /
SUM(ISNULL(ItemBasePrice.CostPrice , SPACE(0)) * Invoices.Qty1 ))
buradaki /'den sonraki kısım 0 olursa eğer bana NULL değer vermesini nasıl sağlayabilirim ? hata vermesin ama sonucu 0 olarak getirsin. Bunu nasıl yapabilirim?
Gönderildi : 06/06/2015 14:18
Konu başlatıcı
, Markup = case when ( SUM(ISNULL(ItemBasePrice.CostPrice , SPACE(0)) * Invoices.Qty1 )) = 0 then 0 else (SUM(ABS(Invoices.Loc_TaxBase) * (CASE WHEN Invoices.IsReturn = 1 THEN -1 ELSE 1 END)) / SUM(ISNULL(ItemBasePrice.CostPrice , SPACE(0)) * Invoices.Qty1 )) end
bu şekilde çözdüm yardımcı olabilir belki ihtiyacı olanlara. Ama şimdi başka bir formülde hata alıyorum 🙂
o formülüde ekliyorum .
burada da aynı sorun var ama bu tek bir formül olunca çıkan değer 0 oluyor buna nasıl bir çözüm üretebiliriz.
((SUM(ABS(Invoices.Loc_TaxBase) * (CASE WHEN Invoices.IsReturn = 1 THEN -1 ELSE 1 END)) - SUM(ISNULL(ItemBasePrice.CostPrice, SPACE(0)) * Invoices.Qty1 ) ) / SUM(ABS(Invoices.Loc_TaxBase) * (CASE WHEN Invoices.IsReturn = 1 THEN -1 ELSE 1 END)))* 100
Gönderildi : 06/06/2015 16:41
Konu başlatıcı
GrossProfit = case when SUM(ABS(Invoices.Loc_TaxBase) * (CASE WHEN Invoices.IsReturn = 1 THEN -1 ELSE 1 END)) = 0 then 0 else ((SUM(ABS(Invoices.Loc_TaxBase) * (CASE WHEN Invoices.IsReturn = 1 THEN -1 ELSE 1 END)) - SUM(ISNULL(ItemBasePrice.CostPrice, SPACE(0)) * Invoices.Qty1 ) ) / SUM(ABS(Invoices.Loc_TaxBase) * (CASE WHEN Invoices.IsReturn = 1 THEN -1 ELSE 1 END)))* 100 end
,
Gönderildi : 06/06/2015 18:00