Tablo birleştirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
muratmert
Üye
Mesajlar: 1
Kayıt: 10 Nis 2023 03:27

Tablo birleştirme

Mesaj gönderen muratmert »

Kod: Tümünü seç

select ad,sum(tutar) as toplam from yer
join mus on mus.yerid=yer.id
join musisl on musisl.musid_=mus.id
where tipid=1
group by ad
order by toplam desc
Bu sorgudan

yer1 30000
yer2 17000
yer3 14000

gibi bir sonuç alıyorum. tipid=2 yapınca da

yer1 10000
yer2 8000
yer3 5000

sonuçlarını alıyorum.

yer1 30000 10000
yer2 17000 8000
yer3 14000 5000

şeklinde birleşik sonuç almam için sorguyu nasıl yapmalıyım.
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

Re: Tablo birleştirme

Mesaj gönderen ozcank »

Bu şekilde denedin mi?

Kod: Tümünü seç

select ad,sum(tutar) as toplam from yer
join mus on mus.yerid=yer.id
join musisl on musisl.musid_=mus.id
where tipid=1 And tipid=2
group by ad
order by toplam desc
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: Tablo birleştirme

Mesaj gönderen yusuf simsek »

UNION ile sorgularını birleştirebilirsin...

Kod: Tümünü seç

select ad, sum(tip1_tutar) as tip1_tutar, sum(tip2_tutar) as tip2_tutar 
from (   
            select ad,sum(tutar) as tip1_tutar, 0 AS tip2_tutar
            from yer
            join mus on mus.yerid=yer.id
            join musisl on musisl.musid_=mus.id
            where tipid=1
            group by ad
            
            UNION ALL
            
            select ad,  0 AS tip1_tutar, sum(tutar) AS tip2_tutar
            from yer
            join mus on mus.yerid=yer.id
            join musisl on musisl.musid_=mus.id
            where tipid=2
            group by ad
       )
group by ad            
order by tip1_tutar desc

Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Cevapla