Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi Sql Tarih Sorunu
#11
Rica ederim, özre ne gerek var verdiğiniz onca doğru bilgi varken.Bu kadarlık kusur kadı kızında bile olur.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#12
(12-03-2018, Saat: 20:46)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBurada 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.
       
      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;

Hocam bu şekilde tarih aralıklarında toplam veriyor ancak , verdiğim tarihlerdeki giriş ve çıkışların ikisinin toplamını hem girişe hemde çıkışa aynı rakamları veriyor.
       ADOQuery2.sql.Clear;
       ADOQuery2.sql.Add('select tip,');    
       ADOQuery2.sql.Add('(SELECT SUM(tutar) FROM kasa WHERE  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;

(12-03-2018, Saat: 21:33)serhatil Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDarih nedir? Türkçesi bozuklar.

Haklısın kardeşim, dilimize özen göstermeliyiz.

Bizim Darih Tarih oldu,  ama yinede arada kaynadı. Smile


Ek Dosyalar Resimler
   
Cevapla
#13
Sql sorgu bu şekilde olmalı;

SELECT TIP,SUM(TUTAR) AS TUTAR FROM KASA WHERE TARIH BETWEEN '2017-01-01' AND '2017-12-31' GROUP BY TIP
WWW
Cevapla
#14
(13-03-2018, Saat: 16:06)elixir84 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSql sorgu bu şekilde olmalı;

SELECT TIP,SUM(TUTAR) AS TUTAR FROM KASA WHERE TARIH BETWEEN '2017-01-01' AND '2017-12-31' GROUP BY TIP
Eyvallah bu şekilde oldu, 
Şimdi delphi kanadında bu sorgudan elde ettiğimiz giriş toplamını edit1 e çıkış toplamını edit2 ye aktarmayı nasıl yaparım.
Cevapla
#15
(13-03-2018, Saat: 19:59)Pimapen_Nuri Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(13-03-2018, Saat: 16:06)elixir84 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSql sorgu bu şekilde olmalı;

SELECT TIP,SUM(TUTAR) AS TUTAR FROM KASA WHERE TARIH BETWEEN '2017-01-01' AND '2017-12-31' GROUP BY TIP
Eyvallah bu şekilde oldu, 
Şimdi delphi kanadında bu sorgudan elde ettiğimiz giriş toplamını edit1 e çıkış toplamını edit2 ye aktarmayı nasıl yaparım.

Tip değerini giriş için 'G' çıkış için 'C' kabul ediyorum. Sen kendine göre değiştirirsin.


SELECT SUM(CASE WHEN TIP='G' THEN TUTAR ELSE 0 END) AS GIRIS,SUM(CASE WHEN TIP='C' THEN TUTAR ELSE 0 END) AS CIKIS FROM KASA
WWW
Cevapla
#16
(14-03-2018, Saat: 10:56)elixir84 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(13-03-2018, Saat: 19:59)Pimapen_Nuri Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlEyvallah bu şekilde oldu, 
Şimdi delphi kanadında bu sorgudan elde ettiğimiz giriş toplamını edit1 e çıkış toplamını edit2 ye aktarmayı nasıl yaparım.

Tip değerini giriş için 'G' çıkış için 'C' kabul ediyorum. Sen kendine göre değiştirirsin.


SELECT SUM(CASE WHEN TIP='G' THEN TUTAR ELSE 0 END) AS GIRIS,SUM(CASE WHEN TIP='C' THEN TUTAR ELSE 0 END) AS CIKIS FROM KASA
Hocam bu tek satırın yaptığı işi  4 Adoquery 1 adotable ile yaptırmıştım. hepsini kaldırıp çöpe attı. Saygılar...
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Hangi sürüm delphi kullanmalıyım ? seci20 9 223 14-07-2018, Saat: 18:42
Son Yorum: SercanTEK
Exclamation [ÇÖZÜLDÜ] Delphi EXE Resource TR Dil Sorunsalı mrmarman 6 175 12-07-2018, Saat: 11:09
Son Yorum: mrmarman
  Lisanslama Sorunu Hk. glagher 11 482 07-07-2018, Saat: 10:40
Son Yorum: engerex
  Delphi ile recovery mode Lord_Ares 19 570 06-07-2018, Saat: 01:24
Son Yorum: Lord_Ares
  delphi içinden şablon çağırma murtishow76 13 429 29-06-2018, Saat: 13:00
Son Yorum: murtishow76



Konuyu Okuyanlar: 1 Ziyaretçi