[英]SQL Query with Pivot showing nulls even with Isnull
I'm using this query but it keeps showing me NULL values instead of 0 , i already tried many things and can't get it to return 0 on the null values.我正在使用这个查询,但它一直向我显示 NULL 值而不是 0 ,我已经尝试了很多东西并且无法让它在空值上返回 0 。
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
you need to change your query to include ISNULL in the select list.您需要更改查询以在选择列表中包含 ISNULL。 Assume that you do not have any Obase value for say [Alexandra Maria da Costa Migueis] then the value under it will be NULL
假设你没有任何 Obase 值说 [Alexandra Maria da Costa 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.