码迷,mamicode.com
首页 > 其他好文 > 详细

列转行且行转列

时间:2014-08-07 00:16:06      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   数据   for   2014   ar   

原数据格式如下:

bubuko.com,布布扣

这是学生的成绩表,每科为一列,要求转换为下面的格式:

bubuko.com,布布扣

即,把把课程列转换为行,把学生行转换为列:

建表:

create table #a
(name varchar(20),english int,chinese int ,math int)
insert into #a values( ‘zhangsan‘,10,39,40)
insert into #a values( ‘lisi‘,16,25,36)

 

思路:先把列转换为行:

select name,km,score
from
(select name,english,chinese,math
from #a) a
UNPIVOT
(score for km in
(english,chinese,math )
)
as unpvt

如下数据:

bubuko.com,布布扣

 

然后把行name转换为列:

select *
from
(

select name,km,score from

(select name,km,score from (select name,english,chinese,math from #a) a UNPIVOT (score for km in (english,chinese,math ) ) as unpvt) a

) a

PIVOT
(max(score) for name in (zhangsan,lisi))
as unpvt

 

列转行且行转列,布布扣,bubuko.com

列转行且行转列

标签:style   blog   http   color   数据   for   2014   ar   

原文地址:http://www.cnblogs.com/eboss/p/3895848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!