如何在SQL Server中转换查询结果(从行到列)
我的查询结果如下: 所以,我想把这个结果转化为:如何在SQL Server中转换查询结果(从行到列),sql,sql-server-2008,Sql,Sql Server 2008,我的查询结果如下: 所以,我想把这个结果转化为: 请注意带有空值的交叉字段。PIVOT是实现这一点的方法,一开始可能会让人困惑(至少对我来说是这样) 多亏了@[p Doe],我找到了一个很好的解决问题的方法,因为他引导我找到了解决问题的方法 链接是: 为此,您需要使用PIVOT。谷歌it——很容易学会知道你的查询返回了什么结果会很有用,否则任何人都很难给你答案。考虑向问题添加SQL。谢谢。但是,如果要转置的字段的数量是动态的呢?多亏了你的链接,我找到了另一个更好解释的链接。谢谢Javlon,
请注意带有空值的交叉字段。PIVOT是实现这一点的方法,一开始可能会让人困惑(至少对我来说是这样)
多亏了@[p Doe],我找到了一个很好的解决问题的方法,因为他引导我找到了解决问题的方法 链接是:
为此,您需要使用
PIVOT
。谷歌it——很容易学会知道你的查询返回了什么结果会很有用,否则任何人都很难给你答案。考虑向问题添加SQL。谢谢。但是,如果要转置的字段的数量是动态的呢?多亏了你的链接,我找到了另一个更好解释的链接。谢谢Javlon,但我的问题是我有一个动态数量的字段要转置。
select id,SN,
case Part when 'P1' then '1' else null end 'P1',
case Part when 'P2' then '1' else null end 'P2',
case Part when 'P3' then '1' else null end 'P3',
case Part when 'P4' then '1' else null end 'P4',
case Part when 'P5' then '1' else null end 'P5'
from table1