SQL Server透视数据

时间:2015-10-15 10:57:01

标签: sql-server sql-server-2012

我编写了以下SQL语句(SQLServer 2012)

select distinct ResponseId,piv.Address_Risk_Line1 , piv.Buildings_Cover,
piv.Policy_Cover, piv.Policy_JointCover from [dbo].[UDL_Answers] 
pivot  ( max(Answer) FOR Question in ([Address_Risk_Line1], [Buildings_Cover],
[Policy_Cover], [Policy_JointCover]) ) as piv

我输出的输出格式为:

ResponseId  Address_Risk_Line1  Buildings_Cover Policy_Cover    Policy_JointCover
1           NULL                NULL            NULL            NULL
1           NULL                NULL            NULL            false
1           NULL                NULL            Combined        NULL
1           NULL                true            NULL            NULL
1                               NULL            NULL            NULL

我真正想要的是所有上述所有内容,任何人都可以告诉我如何做到这一点

1 个答案:

答案 0 :(得分:0)

您的数据中似乎遇到了NULL问题。这是pivot的一个很好的参考:Questions about Pivot看看它说“分组基于PIVOT子句中未指定的所有列”的示例,您将看到类似的结果和解决方案。