Sql syntax

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
onaydin

Mesaj gönderen onaydin »

Kod: Tümünü seç

SELECT mkodu, 
        (CASE WHEN odemetipi = A THEN SUM(tutar)END) AS Atipinden, 
        (CASE WHEN odemetipi = B THEN SUM(tutar)END) AS Btipinden, 
        (CASE WHEN odemetipi = C THEN SUM(tutar)END) AS Ctipinden 
FROM odeme 
GROUP BY mkodu
Sanirim bu sql serverda da çalismayacak,
case icindeki sum satir bazinda calistigindan toplamin degerini alamaz,
yani bir islevi yok gibime geliyor, boyle olunca group by da bir kayit icin her seferinde birden fazla kayit donecektir.

firebird için söyle birsey deneyelim;

Kod: Tümünü seç

select MKODU,
sum(case when ODEMETIPI = 'a' then TUTAR end),
sum(case when ODEMETIPI = 'b' then TUTAR end),
sum(case when ODEMETIPI = 'c' then TUTAR end)
from MUSTERI group by MKODU
http://www.databasejournal.com/features ... _3344871_1

Bu adreste oracle da case kullanimiyla ilgili örnekler var, orda disarda fonksiyon olarak count kullanmislar ve çalisiyor, bu sebeple burda bizim yazdigimiz sum da umarim çalisir.

forumda küçük I yazamiyorum ekrana 1 basiyor neden acaba?
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

onaydın
forumda küçük I yazamiyorum ekrana 1 basiyor neden acaba?
Biz nerden bilelim kardeşim . PeHePe ci olan sensin. :twisted: :lol:
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

onaydin yazdı: forumda küçük I yazamiyorum ekrana 1 basiyor neden acaba?
viewtopic.php?t=5454&highlight=toolbar
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla