Firebird çoklu Tarih sorgusu
Firebird çoklu Tarih sorgusu
Firebird tabloda kayıtlı tarihlere göre birden fazla tarih için sorgu yapıp gruplamak mümkünmü?
Buna benzer bir kod forumda gördüm fakat tam anlayamadım.
Örneğin
Tablo :Siparis
Alanlar : Id,SiparisTarih,Musteri,Miktar
Veriler :1 01.01.2008 Ali 10
2 01.02.2008 Veli 100
3 01.03.2008 Ali 20
4 01.05.2008 Ali 40
İstenile Rapor
Tarih 1 Tarih2 Tarih3 Tarih4
Ali 10 20 40
Veli 100
Sql ile böyle bir rapor çıkartmak mümkün mü ? yada bu rapor için ne yapmamı tavsiye edersiniz?
Teşekkürler
iyi çalışmalar
Buna benzer bir kod forumda gördüm fakat tam anlayamadım.
Örneğin
Tablo :Siparis
Alanlar : Id,SiparisTarih,Musteri,Miktar
Veriler :1 01.01.2008 Ali 10
2 01.02.2008 Veli 100
3 01.03.2008 Ali 20
4 01.05.2008 Ali 40
İstenile Rapor
Tarih 1 Tarih2 Tarih3 Tarih4
Ali 10 20 40
Veli 100
Sql ile böyle bir rapor çıkartmak mümkün mü ? yada bu rapor için ne yapmamı tavsiye edersiniz?
Teşekkürler
iyi çalışmalar
Ahmet DENİZ
Re: Firebird çoklu Tarih sorgusu
FastReport içindeki Cross-tab reports konusunu biraz incele. İstediğin işi yapıyor
Bize iyilik yaraşır.
Re: Firebird çoklu Tarih sorgusu
Selamlar,
Yapmak istediğinizi tam anlayamadım,
Ancak SQL'de IN diye bir şey var,
gibi bir örnekte, FIELD1 için ADNAN DİLEK DİLAN vya DERYA'dan herhangi biri için sonuç döndürür.
Bu işinizi görür sanırım. Ayrıca GROUP BY FIELD1 dersek
FIELD2'nin toplamını FIELD1'lere göre gruplayarak getirecektir.
Kolay Gelsin
Yapmak istediğinizi tam anlayamadım,
Ancak SQL'de IN diye bir şey var,
Kod: Tümünü seç
SELECT *
FROM TABLO
WHERE FIELD1 IN ('ADNAN', 'DİLEK', 'DİLAN', 'DERYA)
Bu işinizi görür sanırım. Ayrıca GROUP BY FIELD1 dersek
Kod: Tümünü seç
SELECT FIELD1, SUM(FIELD2)
FROM TABLO
WHERE FIELD1 IN ('ADNAN', 'DİLEK', 'DİLAN', 'DERYA)
GROUP BY FIELD1
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Re: Firebird çoklu Tarih sorgusu
Firebird 2.1 sürümünden itibaren desteklenen LIST fonksiyonu işinizi görecektir.
viewtopic.php?f=18&t=23303
viewtopic.php?f=18&t=23303
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Re: Firebird çoklu Tarih sorgusu
Kod: Tümünü seç
where
MUSTERI.SIPARISTARIHI IN ('03.03.2000', '03.03.2001')
veriyi yıllık gruplaması lazım.
01.01.2000 ile 31.12.2000 arasını nasıl gruplarım ?
Hocam daha 1.0 dan 2.0 a yeni geçtim. sanırım 2.1 biraz sorunluymuş. formumlardan okuduğum kadarı ile. onun için bekliyorum. 2.0 ile nasıl yaparım bu işlemi?rsimsek yazdı:Firebird 2.1 sürümünden itibaren desteklenen LIST fonksiyonu işinizi görecektir.
viewtopic.php?f=18&t=23303
Ahmet DENİZ
Re: Firebird çoklu Tarih sorgusu
s.a.
in yerine between kullanarak çözebilirsin
kolay gelsin
in yerine between kullanarak çözebilirsin
kolay gelsin
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Firebird çoklu Tarih sorgusu
A.S.aslangeri yazdı:s.a.
in yerine between kullanarak çözebilirsin
kolay gelsin
between kullandığım zaman sadece 1 yıl gruplanabiliyor.
Benim 2000,2001...2008 e kadar her yılı ayrı ayrı gruplamam gerekiyor.
Ahmet DENİZ
Re: Firebird çoklu Tarih sorgusu
Ustalar, bu konuda çok sıkıştım ve yaptığım deneler istediğim sonucu vermedi. Konuya daha ayrıntılı olarak bir kere daha açıklamak istiyorum.
Şimdi siparişlerin tutulduğu bir tablo var.
Bu tabloda ürün grupları,sipari nosu, siparis tarihi, toplam fiyat.... var
Bu bilgilerden bir rapor çıkartmam gerekiyor.
Aylık üretim raporu
ürün gruplarına göre haftalık rapor vermeli.
Firebird 2.1.1 e terfi edip denedim, List fonksiyonu çok kullanışlı bir fonksiyon. Fakat list fonksiyonu benim istediğim işi yapmıyor.
Şimdi siparişlerin tutulduğu bir tablo var.
Bu tabloda ürün grupları,sipari nosu, siparis tarihi, toplam fiyat.... var
Bu bilgilerden bir rapor çıkartmam gerekiyor.
Aylık üretim raporu
ürün gruplarına göre haftalık rapor vermeli.
Firebird 2.1.1 e terfi edip denedim, List fonksiyonu çok kullanışlı bir fonksiyon. Fakat list fonksiyonu benim istediğim işi yapmıyor.
Ahmet DENİZ
Re: Firebird çoklu Tarih sorgusu
Firebird haftalik , aylik veya yillik tarihlere göre gruplandırma yapman mümkün.
Aşagıdakine benzer kod işini görür.
extract (month from tarih ) null veya 1 ile 12 arasini döndürür.
extract(week from tarih) null veya 1 ile 52 arasi
extract (year from tarih) null veya girili tarihin yili
week destegi firebird 2.1 ile gelmiştir. Önceki versiyonlarda çalışmaz.
Aşagıdakine benzer kod işini görür.
Kod: Tümünü seç
select carikod, carigrup, extract(month from tarih), sum(tutar) from tablo
where .... // nasil bir süzme gerekiyorsa
group by 1,2,3 // ilk 3 alana göre gruplandır
order by 3 // 3. alana göre sırala
extract(week from tarih) null veya 1 ile 52 arasi
extract (year from tarih) null veya girili tarihin yili
week destegi firebird 2.1 ile gelmiştir. Önceki versiyonlarda çalışmaz.