SQL Server行转列操作及PIVOT运算符
SQL Server中的行转列操作可以通过PIVOT运算符来完成
例如:表中有多条成绩数据,如下
现需要把每个学生成绩显示一行,行转列显示
实现sql如下:
select * from ScoresTable as src --源数据
pivot(max(Score) for Subject in(语文,数学)) as pivotTable
sql运行结果如下,实现了行转列
创建测试表及数据sql如下
create table ScoresTable(
Name varchar(50),
Subject varchar(50),
Score int
)
insert into ScoresTable values('小张','语文',90)
insert into ScoresTable values('小张','数学',95)
insert into ScoresTable values('小王','语文',98)
insert into ScoresTable values('小王','数学',99)