is null veya COALESCE kullanarak farkı hesaplatma

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

is null veya COALESCE kullanarak farkı hesaplatma

Mesaj gönderen conari »

Kod: Tümünü seç

siparis.miktar, 
TESLIMAT=(SELECT SUM(tblstokhar.miktar) A WHERE  tblstokhar.GIRCIK='C' and 
siparis.STOKKOD = tblstokhar.STOKKOD AND siparis.FISNO = tblstokhar.sipno AND siparis.har_sıra = tblstokhar.har_sıra) ,
(siparis.miktar-(SELECT isNull(SUM(tblstokhar.miktar),0) A 
WHERE  tblstokhar.GIRCIK='C' and 
siparis.STOKKOD = tblstokhar.STOKKOD AND 
siparis.FISNO = tblstokhar.sipno AND 
siparis.har_sıra = tblstokhar.har_sıra)) AS BAKIYE
FROM siparis  
Yukardaki kod ile siparişleri ile ilgili bakiyeleri hesaplattırıyorum.
çıkış hareketi olan siparişlerde sipariş bakiyesi problemsiz geliyor.
Fakat çıkış hareketi bulunmayanlar için isnull kullandım.
Ama yinede bakiye sipariş bakiyesi kadar gelmiyor sıfır geliyor.
normalde
sipariş 50
çıkış 45
bakiye 5 olarak geliyor ama çıkış hiç yok ise
sipariş 50
çıkış 0
bakiye 0 geliyor.
isnull veya COALESCE burda nasıl kullanmam lazım..
normalde
siparis.miktar - TESLIMAT yapsam yetecek ama kabul etmediği için
bakiyeyi böyle hesaplamam gerekti.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Buraya yazdırdıktan sonra ilham mı geliyor ne???

Kod: Tümünü seç

siparis.miktar, 
TESLIMAT=(SELECT SUM(tblstokhar.miktar) A WHERE  tblstokhar.GIRCIK='C' and 
siparis.STOKKOD = tblstokhar.STOKKOD AND siparis.FISNO = tblstokhar.sipno AND siparis.har_sıra = tblstokhar.har_sıra) , 
(siparis.miktar-isNull(( SELECT SUM(tblstokhar.miktar)A 
WHERE  tblstokhar.GIRCIK='C' and 
siparis.STOKKOD = tblstokhar.STOKKOD AND 
siparis.FISNO = tblstokhar.sipno AND 
siparis.har_sıra = tblstokhar.har_sıra),0)  AS BAKIYE 
FROM siparis 
koşullarıda isnull içine aldım :) :lol:
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

conari yazdı:Buraya yazdırdıktan sonra ilham mı geliyor ne?
Kesinlikle evet :) .
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla