首页 > 数据库技术 > 详细

sql行列转换

时间:2016-05-04 18:44:11      阅读:237      评论:0      收藏:0      [点我收藏+]

--行转列

if OBJECT_ID(‘tempdb..#Student‘) is not null
begin
drop table #Student
end

create table #Student
(
CName varchar(50),
Subject varchar(50),
Score int
)

insert into #Student (CName,Subject,Score) values (‘张三‘,‘语文‘,100)
insert into #Student (CName,Subject,Score) values (‘张三‘,‘数学‘,90)
insert into #Student (CName,Subject,Score) values (‘张三‘,‘英语‘,94)
insert into #Student (CName,Subject,Score) values (‘李四‘,‘语文‘,75)
insert into #Student (CName,Subject,Score) values (‘李四‘,‘数学‘,88)
insert into #Student (CName,Subject,Score) values (‘李四‘,‘英语‘,92)

select * from #Student pivot (max(Score) for Subject in ([语文],[数学],[英语])) t

结果:

技术分享

 

--列转行

if OBJECT_ID(‘tempdb..#Student‘) is not null
begin
drop table #Student
end

create table #Student
(
CName varchar(50),
[语文] int,
[数学] int,
[英语] int
)

insert into #Student (CName,[语文],[数学],[英语]) values (‘张三‘,100,90,94)
insert into #Student (CName,[语文],[数学],[英语]) values (‘李四‘,75,88,92)

select * from #Student unpivot(Score for Subject in ([语文],[数学],[英语])) t

结果:

技术分享

sql行列转换

原文:http://www.cnblogs.com/fengzmh/p/5459194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!