Sorgu icerisinde toplama yapmak

Diğer 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

Sorgu icerisinde toplama yapmak

Mesaj gönderen mrtblt »

Select icerisinde bazi degerlerin toplamini guruplamak istiyorum

Kod: Tümünü seç

SELECT c.id,(iha.sumfa+cfa.sumcfa+csa.sumcsa-ihb.sumfb-cfb.sumcfb-csb.sumcsb) as balance from clients as c ....
....
order by balance DESC
gordugunuz gibi bir takim degerler toplatiliyor ve bu toplamya gore siralama yapiliyor.
Fakat bu sekilde hata vermemesine ragmen calismiyor.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Sorgu icerisinde toplama yapmak

Mesaj gönderen sabanakman »

mrtblt yazdı:

Kod: Tümünü seç

SELECT c.id,(iha.sumfa+cfa.sumcfa+csa.sumcsa-ihb.sumfb-cfb.sumcfb-csb.sumcsb) as balance from clients as c ....
....
order by balance DESC
yerine

Kod: Tümünü seç

SELECT c.id,(iha.sumfa+cfa.sumcfa+csa.sumcsa-ihb.sumfb-cfb.sumcfb-csb.sumcsb) as balance from clients as c ....
....
order by 2 DESC
şeklinde dene.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
mrtblt
Üye
Mesajlar: 222
Kayıt: 02 Tem 2007 05:13

Re: Sorgu icerisinde toplama yapmak

Mesaj gönderen mrtblt »

Onunla bi alakasi oldugunu zannetmiyorum. Zira denedim ve gene sonuc hep sigir donuyor oysaki rakamlar olmaliydi. Sanirim bu tarz bi toplama yapilmasina musade etmiyor sistem oysa ki hicbir hata mesaji da almiyorum
Asagida sorgunun tamami var

Kod: Tümünü seç

SELECT c.id,c.cl_name, c.judet,c.city,c.contact_person,c.mobil1,
kalansip.ksip, (iha.sumfa+cfa.sumcfa+csa.sumcsa-ihb.sumfb-cfb.sumcfb-csb.sumcsb) as bakiye from clients as c

left join ( select id,client_id, sum(grand_sum*exch_rate*(100-disc_prcnt)/100) as sumfa from inv_header where inv_type in ('1','4') group by client_id) as iha
on c.id=iha.client_id
left join ( select id,client_id, sum(grand_sum*exch_rate*(100-disc_prcnt)/100) as sumfb from inv_header where inv_type in('2','3','5') 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 in('1','2') 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 in('3','4') group by cl_id) as cfb
on c.id=cfb.cl_id

left join ( select sh.id , sh.client_id as shid, sl.sipno_id, sum(sl.amount*sl.set_amount) as ksip from sip_header sh, sip_lines sl where sl.sipno_id=sh.id and sl.status=0 group by sh.id) as kalansip
on c.id=kalansip.shid

group by c.id ORDER BY bakiye ASC LIMIT 0,5 
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Sorgu icerisinde toplama yapmak

Mesaj gönderen sabanakman »

Sıralamak istenilen alanın çıkan sonuç listesinde kaçıncı sırada olduğunu order by bloğunda yazarak sıralama gerçekleştirmesi her veritabanından beklediğim bir harekettir aslında ama FB'de böyle bir sıkıntı mı var acep.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla