firebird sql sorusu

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
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

firebird sql sorusu

Mesaj gönderen Vital »

Merhaba

D7 Fb 2.1

Kod: Tümünü seç


IBQuery1.Close;
   IBQuery1.SQL.Clear;

IBQuery1.SQL.Add( 'select sum(sevkdetail.sevkadeti) as sevkadeti,extract(month from sevkdetail.sevktarihi) as sevkayi,GENELDETAIL1.MUSTERIADI  from geneldetail1,sevkdetail   ');


IBQuery1.SQL.Add( 'WHERE  GENELDETAIL1.MUSTERIADI='''+EDIT1.Text+''' and  sevktarihi='''+datetostr(DateTimePicker1.date)+''' AND sevktarihi='''+datetostr(DateTimePicker2.date)+'''  ');

 IBQuery1.SQL.add('GROUP BY  extract(month from sevkdetail.sevktarihi)');

     IBQuery1.prepare;

IBQuery1.open;
arkadaslar bu kodla edite ismi yazilan musterinin belirtilen tarih araligindaki aylarin toplam sevk miktarlarini gostermek istiyorum.fakat bana soyle sacma bir sonuc veriyor. hata nerde olabilir?

sevkadeti sevkayi
13755 9


bu sonuc dogru degil arkadaslar nerde hata yapiyorum.

tskler.
Garibanus
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: firebird sql sorusu

Mesaj gönderen aslangeri »

s.a.
ben olsam şöyle bişey yazardım.

Kod: Tümünü seç

select gd.musteriadi, sd.ay, sum(sd.adet) from genelmusteridetail gd
left join sevkdetail sd on sd ile gd arasındaki bağlantı
where diğer where parametreleri
group by 1,2 
senin işlemindeki hata sevkdetail ile genel detail arasındaki bağlantıyı belirtmemen. oda iki tarih arasındaki tüm sevkdetail ile adı belirttiğin isim olan kaydın kartezyen çarpımını getiriyor.
yukardaki yapıya uygun yazdığın zaman hata olmayacaktır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Vital
Üye
Mesajlar: 280
Kayıt: 01 Oca 2008 08:50

Re: firebird sql sorusu

Mesaj gönderen Vital »

hocam tskler deneyip bilgileri paylasacagim.
Garibanus
Cevapla