比尔云BierYun--阿里云最新优惠活动
阿里云优惠码丨阿里云代金券

SQLServer之列数据转换为行数据

SQLServer之列数据转换为行数据

UNPIVOT特点

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

语法

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

示例

1
2
3
4
5
6
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

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

强烈推荐

高性能SSD云服务器ECS抗攻击,高可用云数据库RDS