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
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
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
  delphi ile web servis yazmak. Kamuran Alpkaya 4 1.079 3 saat önce
Son Yorum: Bay_Y
Question OpenSSL .dll sorunu delphi 10.2 BY-HAYALET 5 395 12-09-2018, Saat: 17:08
Son Yorum: uparlayan
  Visual Studio Code for Delphi gjamesbond 1 106 11-09-2018, Saat: 10:19
Son Yorum: Fesih ARSLAN
  Delphi içinden ve MSSQL üzerinden storeprocedure çalıştırma Bay_Y 6 239 30-08-2018, Saat: 13:10
Son Yorum: Bay_Y
  Delphi 10.3.2 Cominity için Sui Pack ve Rave Report konusu Bafehan 9 295 09-08-2018, Saat: 20:48
Son Yorum: Bafehan



Konuyu Okuyanlar: 1 Ziyaretçi