Yazilim Öğrenmenin Tek Adresi...
Daha İyi Bir Hizmet İçin Lütfen Üye Olunuz...
Yazilim Öğrenmenin Tek Adresi...
Daha İyi Bir Hizmet İçin Lütfen Üye Olunuz...
Yazilim Öğrenmenin Tek Adresi...
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Yazilim Öğrenmenin Tek Adresi...

En Kapsamlı Visual Basic Sitesi
 
AnasayfaAramaLatest imagesKayıt OlGiriş yap
Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum
Arama
 
 

Sonuç :
 
Rechercher çıkıntı araştırma
En son konular
» C İle Banka Otomasyonu Acill
Select SQL ile kümül toplam nasıl alınır Icon_minitimeC.tesi Ocak 09, 2010 4:51 pm tarafından Ebubekir_Kara

» C++'la yapılmış basit ATM programı
Select SQL ile kümül toplam nasıl alınır Icon_minitimeÇarş. Ara. 02, 2009 4:43 am tarafından 1221ibrahim

» Bir Oyunda Puan Sistemi Yapma
Select SQL ile kümül toplam nasıl alınır Icon_minitimePtsi Kas. 02, 2009 1:49 pm tarafından KonYalıCoder

» Ipconfig Komutu
Select SQL ile kümül toplam nasıl alınır Icon_minitimePaz Eyl. 13, 2009 5:33 pm tarafından OguzhanUyanik

» Çalıştır Komutları
Select SQL ile kümül toplam nasıl alınır Icon_minitimePaz Eyl. 13, 2009 5:33 pm tarafından OguzhanUyanik

» Domain Adresleri
Select SQL ile kümül toplam nasıl alınır Icon_minitimePaz Eyl. 13, 2009 5:32 pm tarafından OguzhanUyanik

» Msconfig Nedir? Ayarları ve Özellikleri
Select SQL ile kümül toplam nasıl alınır Icon_minitimePaz Eyl. 13, 2009 5:32 pm tarafından OguzhanUyanik

» Windows Vista & Türkçe Kurulumu Resimli anlatım!
Select SQL ile kümül toplam nasıl alınır Icon_minitimePaz Eyl. 13, 2009 5:31 pm tarafından OguzhanUyanik

» Format atmak ve Türkçe windows xp kurulumu (resimli anlatım)
Select SQL ile kümül toplam nasıl alınır Icon_minitimePaz Eyl. 13, 2009 5:31 pm tarafından OguzhanUyanik

» Windows Xp Hızlandırma
Select SQL ile kümül toplam nasıl alınır Icon_minitimePaz Eyl. 13, 2009 5:30 pm tarafından OguzhanUyanik

En iyi yollayıcılar
OguzhanUyanik (472)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
mehmet bozer (78)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
asi_esra (4)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
mysterious_el (4)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
1221ibrahim (3)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
igny (3)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
tarkantr2000 (2)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
myildiz.16 (2)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
KAPORTACI (2)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 
tolgakesan (2)
Select SQL ile kümül toplam nasıl alınır Vote_lcapSelect SQL ile kümül toplam nasıl alınır I_voting_barSelect SQL ile kümül toplam nasıl alınır Vote_rcap 

 

 Select SQL ile kümül toplam nasıl alınır

Aşağa gitmek 
YazarMesaj
OguzhanUyanik
Mareşal
Mareşal
OguzhanUyanik


Yengeç Mesaj Sayısı : 472
Kayıt tarihi : 31/08/09
Yaş : 31
Nerden : Konya
İş/Hobiler : Bilgisyar-Yazılım
Lakap : Nediz

Select SQL ile kümül toplam nasıl alınır Empty
MesajKonu: Select SQL ile kümül toplam nasıl alınır   Select SQL ile kümül toplam nasıl alınır Icon_minitimeSalı Eyl. 08, 2009 2:25 pm

Kümül toplam için hep cursor(dataset,recordset) açardım, keşfettiğim bu yöntemle artık kümül toplam almak çok bir basit SQL cümlesi.
Evet arkadaşlar benim her zaman kabusum olmuştur ve hiç sevmediğim bir iştir kümül toplam almak. Bunu yöneticilerin garip isteklerini yerine getirmek için bir çok defa yapmışımdır. Geçen gün yine aynı istek gelince Stored Procedure yazmak, yada ön yüzde (Dataset,Recordset) açmak yerine bir SQL ile o SQL cümlesini de direkt rapora vererek bu işi çözdüm. İşte çözüm:
Bir tablomuz (yada view) olsun bu tabloada şu alanlar olsun:

HesapKodu
GrupKodu
AnaGrupKodu
Ay_Kodu
Ay_TolamTutar

Ay_Kodu'na gelecek değerlerde alfanumerik sıralamaya dikkat etmemiz gerekiyor. Aslolarak Ocak Şubattan sonra geliyor. Aynı şekilde buraya yazılan Ay kodu da sıralandığında bildiğimiz ay sıralamasının dışına çıkmamalı. Bu yüzden Ay_Kod = "YYYY_MM" olarak getirilmeli.

Veriler şöyle olsun:

HesapKodu GrupKodu AnaGrupKodu Ay_Kodu Ay_TolamTutar
120.01.01 Grp0001 AnaGrup001 2007_01 100
120.01.01 Grp0001 AnaGrup001 2007_02 250
120.01.01 Grp0001 AnaGrup001 2007_03 300
120.01.01 Grp0001 AnaGrup001 2007_04 550
120.02.02 Grp0002 AnaGrup001 2007_02 75

Şimdi kümül SQL'i yazalım:
SELECT t1.HesapKodu, t1.GrupKodu, t1.AnaGrupKodu, t1.Ay_Kodu,
Ay_KumulTutar = ISNULL(t1.Ay_TolamTutar,0)
+ ISNULL(SUM(CASE
WHEN t1.Ay_Kod > t2.Ay_Kod THEN t2.Ay_TolamTutar
ELSE 0
END),0)
FROM V_Hesap_Toplamlari_Aylik t1
INNER JOIN V_Hesap_Toplamlari_Aylik t2
ON t1.HesapKodu = t2.HesapKodu AND
t1.GrupKodu = t2.GrupKodu
GROUP BY t1.HesapKodu, t1.GrupKodu, t1.AnaGrupKodu, t1.Ay_Kodu, t1.Ay_TolamTutar


Evet, görüldüğü üzere bu kadar basit, hani daha önce neden düşünemedim diyeceğiniz tarzda. Kümül toplam Case içinde hallediliyor. Ancak bu kodun ne yazık ki kötü bir sorunu var.
Örnek olarak verdiğimiz verilere dönecek olursak. HesapKodu = 120.01.01 olan dört kayıt için bu SQL'i Ocak-Nisan aralığında çalıştırırsak hiç sorunsuz çalışır. Ancak HesapKodu = 120.02.02 olan kayıt için ne yazık ki sadece Şubat ayı için bir değer getirecektir. O yüzden ben bu SQL'e dokunmadan yine SP yazarak hiç kayıt olmayan aylar için temp tabloya 0 değerde kayıtlar attım. Yani şu hale getirdim:


HesapKodu GrupKodu AnaGrupKodu Ay_Kodu Ay_TolamTutar
120.01.01 Grp0001 AnaGrup001 2007_01 100
120.01.01 Grp0001 AnaGrup001 2007_02 250
120.01.01 Grp0001 AnaGrup001 2007_03 300
120.01.01 Grp0001 AnaGrup001 2007_04 550
120.02.02 Grp0002 AnaGrup001 2007_01 0
120.02.02 Grp0002 AnaGrup001 2007_02 75
120.02.02 Grp0002 AnaGrup001 2007_03 75
120.02.02 Grp0002 AnaGrup001 2007_04 75

Ve SQL'i bu temp tablo üzerinden çalıştırıp kümül toplamları döndürdüm. Tabii ki bu hız meselesi, bana bu yöntem esas tablonun gruplayıp, verilerini açıp, kümül toplatmaktan daha kolay geldi. Sizin seçiminiz! İlla ki cursor açmanız gerekiyor ne yazık ki.
Tabii tablodaki tekil alanlardan dönen ay değeri, her ay için bulunuyorsa sorun olmaz ama eğer, burda anlattığım şekilde SQL alıp kümül alacaksanız, mutlaka bir küçük sp ile değer olmayan aylara sıfırlı değerler insert etmelisiniz, raporunuzun her zaman doğru çalışması için.
Sayfa başına dön Aşağa gitmek
https://yazilimnet.yetkin-forum.com
 
Select SQL ile kümül toplam nasıl alınır
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Yazilim Öğrenmenin Tek Adresi... :: Masaüstü Programlama :: Veritabanları & SQL-
Buraya geçin: