select ürün, tarih,sum(miktar) from tablom where tarih='01.01.2007' group by ürün, tarih
burada tek günü aldım. Benim istediğim her tarihi aynı anda almak yani
ürün -01.01.2007-02.01.2007-03.1.2007
X - 5 - 8 - 15
v.s. şeklinde gidecek.
bunun için tarihi içiçe select ile tek tek yazarak alabiliriz yoksa başka bir metodu varmıdır.? (where komutunda month(tarih)=1 kısıtıda vereceğim)
İyi çalışmalar
SELECT
URUN,
SUM(CASE WHEN DAY(TARIH) = 1 THEN MIKTAR ELSE 0 END) AS GUN_01,
SUM(CASE WHEN DAY(TARIH) = 2 THEN MIKTAR ELSE 0 END) AS GUN_02,
SUM(CASE WHEN DAY(TARIH) = 3 THEN MIKTAR ELSE 0 END) AS GUN_03,
.
.
.
SUM(CASE WHEN DAY(TARIH) = 31 THEN MIKTAR ELSE 0 END) AS GUN_31
FROM TABLOM
WHERE YEAR(TARIH) = 2007 AND MONTH(TARIH) = 1
GROUP BY URUN
Benim de ms-sql ile fazla bir tecrübem olmasa da hesaplanmış alan olarak veri tabanında gün ayrılıp tutulabiliyorsa gruplanabilir. Aşağıdaki select firebird de çalışıyor.
İlgin için teşekkürler, fakat bu da işime yaramaz burada günler field isimi değil, data olarak geliyor ben günlerin herbiri için bir field oluşturmak istiyorum.Toplam stokkodu dahil aya(31 çeker ise) göre 32 adet field oluşması lazım.
yukarılarda örneklediğim gibi.
Bu şekilde alırsam üzerinde yine işlem yapmam lazım. Pivot tablo oluşturmalıyım yani..Delphide de bunun için hazır bir comp. yok. Ücretli quantum grid falan var.