• 09-02-2019, 11:19:49
    #1
    SELECT * FROM (
    SELECT
    INVOICEREF 'FaturaRef',
    CASE LINETYPE WHEN 4 THEN 'Hizmet' WHEN 0 THEN 'Malzeme' END 'Tür',
    SUM(TOTAL) AS ToplamTutar FROM LG_025_01_STLINE
    GROUP BY INVOICEREF, LINETYPE) AS FEYYAZ
    PIVOT
    (
    SUM(ToplamTutar)
    FOR Tür IN ([Hizmet],[Malzeme])
    )
    AS PVT
    bu sorgu nun çıktısı aşağıdaki gibi geliyor

    buradaki null değerleri 0 yapmak istiyorum
    SUM(isnull(TOTAL,0)) AS ToplamTutar FROM LG_025_01_STLINE
    bu şekilde denedim ama sonuç yine aynı çıktı
  • 09-02-2019, 11:35:44
    #2
    NVL fonksiyonunu kullanmayı denedin mi?

    https://www.techonthenet.com/oracle/functions/nvl.php
  • 09-02-2019, 11:42:21
    #3
    maviuan adlı üyeden alıntı: mesajı görüntüle
    NVL fonksiyonunu kullanmayı denedin mi?

    https://www.techonthenet.com/oracle/functions/nvl.php
    mssql de NVL çalışmıyor hocam
  • 09-02-2019, 11:50:09
    #4
    Huskar adlı üyeden alıntı: mesajı görüntüle
    mssql de NVL çalışmıyor hocam
    COALESCE diye bir fonksiyon varmış. Onunla dene istersen. Null olmayan ilk değeri dönüyormuş.
  • 09-02-2019, 12:32:15
    #5
    Huskar adlı üyeden alıntı: mesajı görüntüle
    SELECT * FROM (
    SELECT
    INVOICEREF 'FaturaRef',
    CASE LINETYPE WHEN 4 THEN 'Hizmet' WHEN 0 THEN 'Malzeme' END 'Tür',
    SUM(TOTAL) AS ToplamTutar FROM LG_025_01_STLINE
    GROUP BY INVOICEREF, LINETYPE) AS FEYYAZ
    PIVOT
    (
    SUM(ToplamTutar)
    FOR Tür IN ([Hizmet],[Malzeme])
    )
    AS PVT
    bu sorgu nun çıktısı aşağıdaki gibi geliyor

    buradaki null değerleri 0 yapmak istiyorum
    SUM(isnull(TOTAL,0)) AS ToplamTutar FROM LG_025_01_STLINE
    bu şekilde denedim ama sonuç yine aynı çıktı

    isnull(SUM(TOTAL),0) AS ToplamTutar

    Bu şekilde dener misin hocam null gelen alanlarda.
  • 09-02-2019, 12:32:19
    #6
    maviuan adlı üyeden alıntı: mesajı görüntüle
    COALESCE diye bir fonksiyon varmış. Onunla dene istersen. Null olmayan ilk değeri dönüyormuş.
    ISNULL: SQL Server ve MS Access 'de kullanılır.
    IFNULL: MySQL 'de kullanılır.
    NVL: Oracle'da kullanılır.
    COALESCE: MySQL'de kullanılır.

    olmuyor hocam yukarıdaki gibiymiş ancak bende isnull da çalışmıyor. bir de isnull u pivot kısmındaki SUM(ToplamTutar) a uygulayamıyorum nedense
  • 11-02-2019, 17:23:00
    #7
    ISNULL fonksiyonunu en üstteki select içerisinde kullanacaksın. * yerine kolon adlarını yaz, hepsi için ISNULL kullan.