当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQLServer之列数据转换为行数据

SQLServer之列数据转换为行数据

2019年08月12日  | 移动技术网IT编程  | 我要评论

龙跨四海,heats,米拉盖佐尔

unpivot特点

unpivot运算符通过将列旋转到行来执行pivot的反向操作,unpivot 并不完全是 pivot 的逆操作。 pivot 执行聚合,并将多个可能的行合并为输出中的一行。unpivot 不重现原始表值表达式的结果,因为行已被合并。 另外,unpivot 输入中的 null 值也在输出中消失了。如果值消失,表明在执行 pivot 操作前,输入中可能就已存在原始 null 值

语法

select 输出列名,...,输出列名,输出值列名称
from (select 输出列名,...,转换列列名,... from 数据库名.架构名.表名) as 别名
unpivot(
输出值列名称 for 输出列名 in
(转换列列名,...)
) as 别名

示例

select unpriots.name,unpriots.course,unpriots.score
from (select name,android,[.net],ios,html5 from test1.dbo.student2) as a
unpivot(
score for course in
(android,[.net],ios,html5)
) as unpriots

示例结果

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网