我正在使用SQL Server 2012,我有以下SQL查询:
SELECT *
FROM
(SELECT [Mth], [Year], [Amount], [Market]
FROM CTE1
UNION ALL
SELECT [Mth], [Year], [Amount], [Market]
FROM CTE2) x
PIVOT
(SUM(x.[Amount)
FOR x.[Mth] IN ([Jan], [Feb], [Mar], [Apr], [May], [Jun], [Jul], [Aug], [Sep], [Oct], [Nov], [Dec])
) AS PVTTable
输出提取如下:
Year Market Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2017 France 11 20 NULL 16 NULL 8 NULL NULL NULL NULL 5 9
我想用零替换NULL。我在我的ISNULL([Mth],0)
查询中尝试了SELECT
,但它无效。
答案 0 :(得分:0)
此处SUM(x.[Amount])
的值为 NULL
,而不是[mth]
。但是,我不确定您是否可以在ISNULL
中使用PIVOT
(没有用于实际检查的样本数据(我倾向于使用交叉枢轴,而不是使用{{1}如果你不能,你需要将PIVOT
放在外ISNULL
州:
SELECT