Burada SELECT SUM() ile oluşturduğun satır(lar) tek başına tüm kayıtları dolaşır.
Bunu limitlemek için sonuna AND ekleyip aynı tarih aralıklarını her birine vermen lazım.
Şöyle dener misin ...
Delphi IDE açıp kabalama yazdım, yazım hatam olmuşsa düzeltirsin.
G% ve Ç% sadece birer kelime ise yazıyorum; zaten Group By ile GİRİŞ ve ÇIKIŞ ifadelerini alıyorsan neden her birisi için ayrı ayrı sorgu yapıyorsun ki, gerek yok. Böyle bir dene.
Bunu limitlemek için sonuna AND ekleyip aynı tarih aralıklarını her birine vermen lazım.
Şöyle dener misin ...
Delphi IDE açıp kabalama yazdım, yazım hatam olmuşsa düzeltirsin.
G% ve Ç% sadece birer kelime ise yazıyorum; zaten Group By ile GİRİŞ ve ÇIKIŞ ifadelerini alıyorsan neden her birisi için ayrı ayrı sorgu yapıyorsun ki, gerek yok. Böyle bir dene.
ADOQuery2.close;
ADOQuery2.sql.Clear;
ADOQuery2.sql.Add('select tip,');
ADOQuery2.sql.Add('(SELECT SUM(tutar) FROM kasa Tablo2 WHERE Tablo2.tip = Tablo1.tip where Tablo2.tarih BETWEEN :ILK1 AND :SON1 ) as [TOPLAM]');
ADOQuery2.SQL.Add('FROM KASA Tablo1');
ADOQuery2.SQL.Add('GROUP BY tip');
ADOQuery2.Parameters.ParamByName('ILK1').Value:=strtodate(Edit1.text);
ADOQuery2.Parameters.ParamByName('SON1').Value:=strtodate(Edit2.text);
ADOQuery2.Open;
Saygılarımla
Muharrem ARMAN

Muharrem ARMAN


