SQLServer之列数据转换为行数据

  1. 云栖社区>
  2. 博客>
  3. 正文

SQLServer之列数据转换为行数据

优惠券发放 2019-08-12 10:05:39 浏览213
展开阅读全文

SQLServer之列数据转换为行数据
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
原文地址https://www.cnblogs.com/vuenote/archive/2019/08/11/11336793.html

网友评论

作者关闭了评论
优惠券发放
+ 关注