Parametreli Tabloda Toplam Alma

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ı
mustafaozdemir
Üye
Mesajlar: 137
Kayıt: 19 Haz 2004 01:56

Parametreli Tabloda Toplam Alma

Mesaj gönderen mustafaozdemir »

S.a. arkadaşlar Firebird 1.5 kullanıyorum. Şu sıralar ilk defa böyle birşey gördüm. Tablo ismini parametreli olarak verdiğimde SUM ile toplam almada hata veriyor. Aynı kodu normal şekilde çalıştırdığımda hiç bir sıkıntı yok. Böyle birşey başına gelen var mı acaba , Firebird Execute Statement ile parametrelli olarak verilen tablo isimlerinde SUM gibi bazı fonksiyonları desteklemiyor mu yoksa?

Kod: Tümünü seç

      FOR
        execute statement  'SELECT TARIH, sum(ALAN1) FROM  '||TABLO_ADI||
        ' GROUP BY TARIH'
       INTO :TARIH, :TOPLAM
    DO
    BEGIN  /*FOR DO*/
      SUSPEND;
    END
En son mustafaozdemir tarafından 06 Ara 2009 06:58 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
mahsuni
Üye
Mesajlar: 99
Kayıt: 21 Haz 2003 01:09
Konum: Ankara-Mamak

Re: Parametreli Tabloda Toplam Alma

Mesaj gönderen mahsuni »

FOR
execute statement 'SELECT TARIH, sum(ALAN1) FROM '||TABLO_ADI||
' GROUP BY TARIH'
INTO :TARIH,:TOPLAM
DO
BEGIN /*FOR DO*/
suspend;

END
Kullanıcı avatarı
mustafaozdemir
Üye
Mesajlar: 137
Kayıt: 19 Haz 2004 01:56

Re: Parametreli Tabloda Toplam Alma

Mesaj gönderen mustafaozdemir »

Arkadaşım dalgınlıkla kodda into kısmında tarih değişkenini yazmayı unutmuşum. Normal senin yazdığın gibi kodluyorum ama yine de hata veriyor. vardiği hata :
Unsuccesful execution caused by an unavailable resource. Variable type(position 1) in EXECUTE STATEMENT 'SELECT TARIH, sum(ALAN1) from TABLO GROUP ' INTO does not match return
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Parametreli Tabloda Toplam Alma

Mesaj gönderen Lost Soul »

SELECT TARIH, sum(ALAN1)

burada TARIH çoklu kayıt döndürürken sum(ALAN1) tek kayıt döndürür.
ondan olabileceğini düşünüyorum.


SELECT max(TARIH) as TARIH, sum(ALAN1) as ALAN1 gibi bişey deneseniz.
Kullanıcı avatarı
mustafaozdemir
Üye
Mesajlar: 137
Kayıt: 19 Haz 2004 01:56

Re: Parametreli Tabloda Toplam Alma

Mesaj gönderen mustafaozdemir »

aynı problem arkadaşım.aynı hatayı verdi maalesef.
Cevapla