Aylara göre toplam

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
hbulus
Üye
Mesajlar: 161
Kayıt: 14 Tem 2003 11:30
İletişim:

Aylara göre toplam

Mesaj gönderen hbulus »

S.a.
veritabanında fatura tablosundaki kayıtları sorgu ile aylık toplamları alabilir miyiz?

Örn;
select sum(ocak), sum(subat), sum(mart),.......
buradaki ocak, şubat verileri her günkü fatura kayıtları toplattırılarak yapılabilir mi?
Erbab-ı kemâli çekemez nakıs olan, rencide olur Dide-i Huffaş ziyadan....

akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Mesaj gönderen akdatilla »

a.s.
Aşağıdaki gibi yapabilirsin sanırım.

Kod: Tümünü seç

SELECT KOD,ADI,COUNT(*) AS Kayit_Sayisi,
SUM(MIKTAR) AS TOPLAM,
SUM(CASE WHEN MONTH(TARIH)=1 THEN MIKTAR ELSE 0 END) AS MIKTAR1,
SUM(CASE WHEN MONTH(TARIH)=2 THEN MIKTAR ELSE 0 END) AS MIKTAR2,
SUM(CASE WHEN MONTH(TARIH)=3 THEN MIKTAR ELSE 0 END) AS MIKTAR3,
SUM(CASE WHEN MONTH(TARIH)=4 THEN MIKTAR ELSE 0 END) AS MIKTAR4,
SUM(CASE WHEN MONTH(TARIH)=5 THEN MIKTAR ELSE 0 END) AS MIKTAR5,
SUM(CASE WHEN MONTH(TARIH)=6 THEN MIKTAR ELSE 0 END) AS MIKTAR6,
SUM(CASE WHEN MONTH(TARIH)=7 THEN MIKTAR ELSE 0 END) AS MIKTAR7,
SUM(CASE WHEN MONTH(TARIH)=8 THEN MIKTAR ELSE 0 END) AS MIKTAR8,
SUM(CASE WHEN MONTH(TARIH)=9 THEN MIKTAR ELSE 0 END) AS MIKTAR9,
SUM(CASE WHEN MONTH(TARIH)=10 THEN MIKTAR ELSE 0 END) AS MIKTAR10,
SUM(CASE WHEN MONTH(TARIH)=11 THEN MIKTAR ELSE 0 END) AS MIKTAR11,
SUM(CASE WHEN MONTH(TARIH)=12 THEN MIKTAR ELSE 0 END) AS MIKTAR12
FROM TABLO1
WHERE KOD BETWEEN '001' AND '999'
GROUP BY KOD,ADI

Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3055
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Kod: Tümünü seç

select month(Tarih), sum(Miktar) from tablo group by month(Tarih),stok_id
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .

hbulus
Üye
Mesajlar: 161
Kayıt: 14 Tem 2003 11:30
İletişim:

Re: Aylara göre toplam

Mesaj gönderen hbulus »

S.a.
sabanakman yazdı:

Kod: Tümünü seç

select month(Tarih), sum(Miktar) from tablo group by month(Tarih),stok_id
ifadesi çok kullanışlı ama sıralı sonuç döndürmüyor. Group by 'dan dolayı order by 'da kullanamıyoruz. Nasıl sıralı hale getirebiliriz??
Erbab-ı kemâli çekemez nakıs olan, rencide olur Dide-i Huffaş ziyadan....

Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Aylara göre toplam

Mesaj gönderen Battosai »

Group by 'dan dolayı order by 'da kullanamıyoruz.
Kullanırsın niye kullanamıyormuşun...

Kod: Tümünü seç

select month(Tarih), sum(Miktar) from tablo group by month(Tarih),stok_id order by month(tarih )

Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3055
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Aylara göre toplam

Mesaj gönderen sabanakman »

Battosai yazdı:
Group by 'dan dolayı order by 'da kullanamıyoruz.
Kullanırsın niye kullanamıyormuşun...

Kod: Tümünü seç

select month(Tarih), sum(Miktar) from tablo group by month(Tarih),stok_id order by month(tarih )
Resim



Ayrıca order by olarak alanın sıra numarası da verilebilir. Örneğe göre

Kod: Tümünü seç

select month(Tarih), sum(Miktar) from tablo group by month(Tarih),stok_id order by 1, 2
şeklinde kullanılırsa sorgudan çıkan ilk iki alana göre sıralama yapılacak ve aylarla stokid değerlerine göre sıralama olacaktır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Aylara göre toplam

Mesaj gönderen conari »

Pivot olarak görmek isterseniz @akdatilla nın sorgusunu kullanmanızı öneririm.
Daha önce bende gün bazında alabilirmiyim diye sormuştum hani vereceğim ayın günlerine göre Field oluştursun ve rakamları getirsin diye prosedür oluşturulması falan gerekti fazla uğraşmamıştım.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

hbulus
Üye
Mesajlar: 161
Kayıt: 14 Tem 2003 11:30
İletişim:

Re: Aylara göre toplam

Mesaj gönderen hbulus »

Teşekkürler. haklısınız, :oops:
İşlem tamamdır.
Erbab-ı kemâli çekemez nakıs olan, rencide olur Dide-i Huffaş ziyadan....

akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: Aylara göre toplam

Mesaj gönderen akuyumcu63 »

teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.

Cevapla