2017-10-12 146 views
1

我正在使用此查詢,但它不斷顯示我NULL值而不是0,我已經嘗試了很多東西,並不能讓它返回null值爲0。SQL查詢顯示NULL甚至與Isnull

select p.* from 
    (
    select 'Ordenado Base' as Custos, nome, sum(isnull(prre.ere,0)) as OBase 
    from pr 
    inner join prre on pr.prstamp = prre.prstamp 
    where year(pr.data) = 2017 and prre.cr = 1 
    group by nome 
    ) as Tabela1 
    Pivot(
    sum(Tabela1.Obase) 
    for nome in ([Alexandra Maria da Costa Migueis],[ALEXANDRE PEDRO GOMES FREITAS],[Amílcar Leonardo dos Santos],[Ana Filipa Leitão Costa Martins Claro Viana Machado],[ANA PATRICIA FRED FILIPE]) as P 

回答

1

您需要更改查詢以在選擇列表中包含ISNULL。 假設你沒有對說什麼的obase值亞歷山德拉瑪麗亞·達科斯塔Migueis]然後在它的價值將是NULL

select 
     Custos, 
     [Alexandra Maria da Costa Migueis]=ISNULL([Alexandra Maria da Costa Migueis],0), 
     [ALEXANDRE PEDRO GOMES FREITAS]=ISNULL([ALEXANDRE PEDRO GOMES FREITAS],0), 
     [Amílcar Leonardo dos Santos]=ISNULL([Amílcar Leonardo dos Santos],0), 
     [Ana Filipa Leitão Costa Martins Claro Viana Machado]=ISNULL([Ana Filipa Leitão Costa Martins Claro Viana Machado],0), 
     [ANA PATRICIA FRED FILIPE]=ISNULL([ANA PATRICIA FRED FILIPE],0) 
from 
    (
     select 
      'Ordenado Base' as Custos, 
      nome, 
      sum(isnull(prre.ere,0)) as OBase 
     from pr 
     inner join prre on pr.prstamp = prre.prstamp 
      where year(pr.data) = 2017 and prre.cr = 1 
     group by nome 
    ) as Tabela1 
    Pivot 
    (
    sum(Tabela1.Obase) 
    for nome in 
     (
     [Alexandra Maria da Costa Migueis], 
     [ALEXANDRE PEDRO GOMES FREITAS], 
     [Amílcar Leonardo dos Santos], 
     [Ana Filipa Leitão Costa Martins Claro Viana Machado], 
     [ANA PATRICIA FRED FILIPE] 
     )-- was missing 
    ) as P 
+1

它的工作geat,謝謝! –