aşağıdaki yazdığım view de 60000 kayıtta sadece 114 tanesini getiriyor..
bu sorgudaki case ifadelerini kaldırdığımda oluşan view de 60000 kaydı görebiliyorum bunu sebebi acaba CASE ifadesinde mi?
Sevgiler Saygılar.....
Sorgu bu.....
********************************************************
CREATE VIEW FATURA_VIEW(
STOK_REF,
SKOD,
CINSI,
TURU,
TARIH,
FIYAT,
ISK)
AS
SELECT
FATURA.STOK_REF,
FATURA.SKOD,
FATURA.CINSI,
(SELECT TURU FROM TURLER WHERE TURLER.REFNO=FATURA.turu_ref),
FATURA.TARIH,
FATURA.FIYAT,
((CASE
WHEN (FATURA.FIYAT IS NULL) THEN 0 ELSE FATURA.FIYAT END)-
(CASE
WHEN (FATURA.SATISK IS NULL) THEN 0 ELSE FATURA.SATISK/FATURA.MIKTAR END)-
(CASE
WHEN (FATURA.NETISK IS NULL) THEN 0 ELSE FATURA.NETISK END)-
(CASE
WHEN (FATURA.NETISK1 IS NULL) THEN 0 ELSE FATURA.NETISK1 END))
FROM FATURA
;
***********************************************************
case ile sorgulama problemi
- ahmetcaydere
- Üye
- Mesajlar: 6
- Kayıt: 18 Mar 2005 02:50
- Konum: ISPARTA
- İletişim:
CASE sorun çıkartmaz. Ancak CASE'li işlemlerde bölme işlemi yaparken bölenin sıfır olup olmamasını da kontrol etmelisin. Yani:
yazman daha uygun olacaktır. Belki de sorun buradadır.
İyi çalışmalar.
Kod: Tümünü seç
CASE WHEN (FATURA.SATISK IS NULL) THEN 0 ELSE FATURA.SATISK/FATURA.MIKTAR END
yerine
CASE WHEN FATURA.SATISK IS NULL OR COALESCE(FATURA.MIKTAR, 0) = 0 THEN 0 ELSE FATURA.SATISK / FATURA.MIKTAR END
İyi çalışmalar.
-
- Kıdemli Üye
- Mesajlar: 1026
- Kayıt: 11 Şub 2005 02:12
- Konum: İstanbul