| ekazmaci | 18.09.2003 - 16:51:19 |
| 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. | |
| fahrettin | 19.09.2003 - 08:06:10 |
| 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. | |
| ekazmaci | 19.09.2003 - 16:21:29 |
| 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. | |