Interbase de Distinct Hatası

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ı
ekazmaci
Üye
Mesajlar: 15
Kayıt: 18 Eyl 2003 04:38

Interbase de Distinct Hatası

Mesaj gönderen ekazmaci »

Merhaba.
SELECT DISTINCT PRSICIL AS SicilNo,TARIH AS Tarih,VRKODU AS Vardiya,PSKODU AS Posta
,(SELECT ONSURE FROM PUANTAJ1 P2 WHERE P2.PRSICIL=P1.PRSICIL AND P2.TARIH=P1.TARIH AND P2.CLKODU=1) AS ON1
,(SELECT ONSURE FROM PUANTAJ1 P2 WHERE P2.PRSICIL=P1.PRSICIL AND P2.TARIH=P1.TARIH AND P2.CLKODU=2) AS ON2
,(SELECT ONSURE FROM PUANTAJ1 P2 WHERE P2.PRSICIL=P1.PRSICIL AND P2.TARIH=P1.TARIH AND P2.CLKODU=3) AS ON3
,(SELECT ONSURE FROM PUANTAJ1 P2 WHERE P2.PRSICIL=P1.PRSICIL AND P2.TARIH=P1.TARIH AND P2.CLKODU=4) AS ON4
,(SELECT ONSURE FROM PUANTAJ1 P2 WHERE P2.PRSICIL=P1.PRSICIL AND P2.TARIH=P1.TARIH AND P2.CLKODU=5) AS ON5
FROM PUANTAJ1 P1

Yukarıdaki sorguyu Interbase veritabanında çalıştırdığımda

Invalid request BLR at offset 345
context already in use (BLR error)

şeklinde bir hata mesajı veriyor.
Sorgudan DISTINCT ifadesini kaldırdığımda çalıştırıyor ancak kayıtlar birden fazla görülüyor.
NOT:Aynı sorguyu MSSQL veritabanında çalıştırdığımda hiçbir hata vermiyor.
Yukarıdaki sorguyu Interbase veritabanında DISTINCT ile çalıştırabilmek için ne yapabilirim?
Yardımcı olabilecek arkadaşlara şimdiden Teşekkürler.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Hatayı neden verdiğini bilemiyorum fakat çalının etrafını dolaşarak çözmek adına şunu önerebilirim:
Subquery'ler yerine P2,P3,P4,P5,P6 şeklinde aliaslarla tek bir join ve tek bir query yapın yani subqery kullanmaksızın. Bu durumda sanıyorum sorun çıkmayacaktır.
Kullanıcı avatarı
ekazmaci
Üye
Mesajlar: 15
Kayıt: 18 Eyl 2003 04:38

Interbase de Distinct Hatası

Mesaj gönderen ekazmaci »

merhaba.
yukarıdaki sorunun interbase' deki bir bug dan kaynaklandığını ve bu sorunun firebird 1.5' beta3 ten sonrasında olmadığını öğrendim.kendim de denedim ve düzeldiğini gördüm.
İlgilenen arkadaşlara bildirmek istedim.
herkese iyi çalışmalar.
Cevapla