SQL Şartlı Toplama sorgusu nasıl olur?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
onselder
Üye
Mesajlar: 54
Kayıt: 09 Şub 2005 05:56
Konum: samsun
İletişim:

SQL Şartlı Toplama sorgusu nasıl olur?

Mesaj gönderen onselder »

Firebird 2.1 kullanıyorum
İbQuery nesnesinin sql cümlesi şu şekilde

with dm.raporqry do
Begin
Close;
SQL.Clear;
SQL.Add('select');
SQL.Add('a.MUSTERINO, a.ADI, a.SOYADI, b.SIPARISNO, b.SIPARISTARIHI, b.TESLIMTARIHI, b.TESLIMEDILECEKTARIH, b.DURUMU,');
SQL.Add('b.TESLIMEDEN, b.TESLIMALAN, b.TOPLAMTUTAR, b.PARCA, b.MUSTERINO, a.SEMT, a.ILCE');

SQL.Add('from MUSTERILER a, SIPARISLER b');
SQL.Add('where b.MUSTERINO=a.MUSTERINO');
SQL.Add('and b.TESLIMTARIHI >='+QuotedStr(datetostr(datetimepicker1.Date)));

Open;
end;

Bu kod normal çalışıyor ama ben sorgu içindeki parca alanlarının toplamını aldırmak istiyorum.
Aşağıdaki kodu yazdım ama sorun veriyor.


with dm.raporqry do
Begin
Close;
SQL.Clear;
SQL.Add('select');
SQL.Add('a.MUSTERINO, a.ADI, a.SOYADI, b.SIPARISNO, b.SIPARISTARIHI, b.TESLIMTARIHI, b.TESLIMEDILECEKTARIH, b.DURUMU,');
SQL.Add('b.TESLIMEDEN, b.TESLIMALAN, b.TOPLAMTUTAR, b.PARCA, b.MUSTERINO, a.SEMT, a.ILCE');
SQL.Add('SUM(b.PARCA) as TPARCA');
SQL.Add('from MUSTERILER a, SIPARISLER b');
SQL.Add('where b.MUSTERINO=a.MUSTERINO');
SQL.Add('and b.TESLIMTARIHI >='+QuotedStr(datetostr(datetimepicker1.Date)));
Open;
end;


Bu şekilde yaptım hata veriyor. Sizce nasıl yapmalıyım. yardımlarınızı bekliyorum....
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: SQL Şartlı Toplama sorgusu nasıl olur?

Mesaj gönderen unicorn64 »

"sum" kullanıcaksanız "group by" da kullanmalısınız...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
onselder
Üye
Mesajlar: 54
Kayıt: 09 Şub 2005 05:56
Konum: samsun
İletişim:

Re: SQL Şartlı Toplama sorgusu nasıl olur?

Mesaj gönderen onselder »

kullandım ama sadece ilk satırın değerini alıyor. Diğer satırları toplamıyor. halbuki bağlı olan dbgridde 4 sonuç listeleniyor.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: SQL Şartlı Toplama sorgusu nasıl olur?

Mesaj gönderen Kuri_YJ »

Selamlar,

Kod: Tümünü seç

  SELECT a.MUSTERINO, a.ADI, a.SOYADI, b.SIPARISNO, b.SIPARISTARIHI, b.TESLIMTARIHI, b.TESLIMEDILECEKTARIH, b.DURUMU,
      b.TESLIMEDEN, b.TESLIMALAN, b.TOPLAMTUTAR, a.SEMT, a.ILCE, SUM(b.PARCA) PARCA_TOPLAMI
  FROM MUSTERILER a
      INNER JOIN SIPARISLER b ON a.MUSTERINO = b.MUSTERINO
  WHERE b.TESLIMTARIHI >= :PRM_TARIH
  GROUP BY a.MUSTERINO, a.ADI, a.SOYADI, b.SIPARISNO, b.SIPARISTARIHI, b.TESLIMTARIHI, b.TESLIMEDILECEKTARIH, b.DURUMU,
      b.TESLIMEDEN, b.TESLIMALAN, b.TOPLAMTUTAR, a.SEMT, a.ILCE
yukarıdaki kod işiniz görmesi lazım.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla