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 10:30
İletişim:

Aylara göre toplam

Mesaj gönderen hbulus » 26 Kas 2007 07:13

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 05:04
Konum: Antalya

Mesaj gönderen akdatilla » 27 Kas 2007 09:22

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: 2991
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman » 27 Kas 2007 03:52

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 10:30
İletişim:

Re: Aylara göre toplam

Mesaj gönderen hbulus » 03 Tem 2008 11:17

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: 30 Eyl 2007 11:02
Konum: Ankara

Re: Aylara göre toplam

Mesaj gönderen Battosai » 03 Tem 2008 11:28

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: 2991
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Aylara göre toplam

Mesaj gönderen sabanakman » 03 Tem 2008 01:04

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 02:10
Konum: İstanbul & Gebze Karışık

Re: Aylara göre toplam

Mesaj gönderen conari » 03 Tem 2008 02:57

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 10:30
İletişim:

Re: Aylara göre toplam

Mesaj gönderen hbulus » 04 Tem 2008 10:55

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: 384
Kayıt: 02 Tem 2007 08:43

Re: Aylara göre toplam

Mesaj gönderen akuyumcu63 » 24 May 2017 07:42

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

Cevapla