Qery problemi

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
mrtblt
Üye
Mesajlar: 222
Kayıt: 02 Tem 2007 05:13

Qery problemi

Mesaj gönderen mrtblt »

Merhaba,

Musteri tablosu icin hazirladigim bir query var. Bu query'i query nesnesi icerisinde kullaniyorum. Sorgu asagidaki gibidir.

Kod: Tümünü seç

SELECT c.id,c.cl_name, c.tip, c.judet,c.city,c.contact_person,c.mobil1,(sumfa+sumcsa+sumcfa-sumfb-sumcfb-sumcsb)as bakiye, sumfa, sumfb,sumcsa, sumcsb, sumcfa, sumcfb from clients as c left join ( select id,client_id, sum(grand_sum*(100-disc_prcnt)/100) as sumfa from inv_header where inv_type in ('1','4','6') group by client_id) as iha on c.id=iha.client_id left join ( select id,client_id, sum(grand_sum*(100-disc_prcnt)/100) as sumfb from inv_header where inv_type in('2','3','5','7') group by client_id) as ihb on c.id=ihb.client_id left join ( select id,cl_id, sum(miktar) as sumcsa from ceksenet where tip in ('1','2') group by cl_id) as csa on c.id=csa.cl_id left join ( select id,cl_id, sum(miktar) as sumcsb from ceksenet where tip in('3','4') group by cl_id) as csb on c.id=csb.cl_id left join ( select id,cl_id, sum(miktar) as sumcfa from cfis where tip='TAHSILAT' group by cl_id) as cfa on c.id=cfa.cl_id left join ( select id,cl_id, sum(miktar) as sumcfb from cfis where tip='ODEME' group by cl_id) as cfb on c.id=cfb.cl_id group by c.id, iha.id,ihb.id, csa.id,csb.id, cfa.id,cfb.id ORDER BY cl_name asc, tip asc, judet ASC
Musteri bakiyelerini bulmak icinde bakiye isimli bir alan olusturdum sorguda.

Kod: Tümünü seç

(sumfa+sumcsa+sumcfa-sumfb-sumcfb-sumcsb)as bakiye
Fakat bu bakiye alani bir sonuc dondermiyor. Sorun ne olabilir?
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Qery problemi

Mesaj gönderen unicorn64 »

Bakiye hesabindaki alanlardan birinin degeri null oldugu icin hesap yapamiyor olabilir...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
mrtblt
Üye
Mesajlar: 222
Kayıt: 02 Tem 2007 05:13

Re: Qery problemi

Mesaj gönderen mrtblt »

calculated fields ile hallettim sorunu
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: Qery problemi

Mesaj gönderen serbek_tr »

Halletmişsin ama yinede unicorn64 arkadaşın dediği gibi sum ile işlem yaptığın alanlardan biri null ise sonuç null döner bunuda şu şekilde halledebilirdin

senin koduna istinaden bir örnek veriyorum

Kod: Tümünü seç

(Coalesce(sumfa,0)+Coalesce(sumcsa,0)+Coalesce(sumcfa,0)-Coalesce(sumfb,0)-Coalesce(sumcfb,0)-Coalesce(sumcsb,0))as bakiye
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Cevapla