iki tarih arası group by nasıl yapabilirim.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
iki tarih arası group by nasıl yapabilirim.
arkadaşlar bir malzeme ihtiyaç raporu gibi bişey yapıyorum...planlama tablosundan hammaddeleri ay,planlama kodu v.s göre gruplandırım ihtiyaç miktarlarını sum() ile topluyorum.problem yok...ama herkes raporlama işlemini ay veya plankodundan ziyade iki tarih arası istiyor.böyle bişey yaptığımda doğal olarak hammedeler tarihlerine göre gruplandırıldığından bir kaç satırda birden tekrarlanıyor.aynı hammede.firebird veritabanı kullanıyorum.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
merhaba. öncelikle iki tarih arası gruplama olmaz. 2 tarih aralığında sorgulama olur. gruplama aynı türden olan kayıtları tek satırda gösterir. eğer gruplama da tarih şartı belirtilecekse having ile şart cümlesi eklenir.
Örnek verilecek olursa
Örnek verilecek olursa
Kod: Tümünü seç
Select * From TABLO
Group By CARIKODU
Having TARIH >= '''+Edit1.Text+''' and TARIH <= '''+Edit2.Text+'''
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
rprdata2.mrpmalz2.Close;
rprdata2.mrpmalz2.SelectSQL.Clear;
rprdata2.mrpmalz2.SelectSQL.Add('select stokadi, stokkodu, tarih,birim, bakiye,salis,ay,sum(kullanim) , (bakiye-sum(kullanim))ihtiyac from mrpmalz where MRPKODU is not null ');
rprdata2.mrpmalz2.SelectSQL.Add('and ay='+#39+(pay.Text)+#39);
rprdata2.mrpmalz2.SelectSQL.Add('group by AY,tarih,stokkodu,stokadi,birim,bakiye,salis');
rprdata2.mrpmalz2.SelectSQL.Add('Having TARIH >= '''+t1.Text+''' and TARIH <= '''+t2.Text+'''');
rprdata2.mrpmalz2.Open;
kod bu şekilde ama hala çift kayıtlar var bunu nasıl aşarım lütfen yardım..tarih alanını select den ve group by dan kaldırıyom hata veriyor.
rprdata2.mrpmalz2.SelectSQL.Clear;
rprdata2.mrpmalz2.SelectSQL.Add('select stokadi, stokkodu, tarih,birim, bakiye,salis,ay,sum(kullanim) , (bakiye-sum(kullanim))ihtiyac from mrpmalz where MRPKODU is not null ');
rprdata2.mrpmalz2.SelectSQL.Add('and ay='+#39+(pay.Text)+#39);
rprdata2.mrpmalz2.SelectSQL.Add('group by AY,tarih,stokkodu,stokadi,birim,bakiye,salis');
rprdata2.mrpmalz2.SelectSQL.Add('Having TARIH >= '''+t1.Text+''' and TARIH <= '''+t2.Text+'''');
rprdata2.mrpmalz2.Open;
kod bu şekilde ama hala çift kayıtlar var bunu nasıl aşarım lütfen yardım..tarih alanını select den ve group by dan kaldırıyom hata veriyor.