码迷,mamicode.com
首页 > 数据库 > 详细

SQL UNPIVOT和PIVOT

时间:2015-12-25 16:37:18      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

/*

table_source

PIVOT(

聚合函数(value_column)

FOR pivot_column

IN(<column_list>)

)

完整语法:

table_source

UNPIVOT(

value_column

FOR pivot_column

IN(<column_list>)

)

*/

DECLARE @table TABLE (姓名 VARCHAR(10),课程 VARCHAR(10),分数 INT)

insert into @table VALUES (‘张三‘,‘语文‘,74)
insert into @table VALUES (‘张三‘,‘数学‘,83)
insert into @table VALUES (‘张三‘,‘物理‘,93)
insert into @table VALUES (‘李四‘,‘语文‘,74)
insert into @table VALUES (‘李四‘,‘数学‘,84)
insert into @table VALUES (‘李四‘,‘物理‘,94)


SELECT * FROM @table

SELECT *  FROM @table PIVOT( MAX(分数) FOR 课程 IN (语文,数学,物理))a


DECLARE @table1 TABLE (姓名 VARCHAR(10),语文 INT,数学 INT,物理 INT)

INSERT INTO @table1 VALUES(‘张三‘,74,83,93)

INSERT INTO @table1 VALUES(‘李四‘,74,84,94)

SELECT * FROM @table1
SELECT  姓名 ,
        课程1 ,
        分数1
FROM    @table1 UNPIVOT ( 分数1 FOR 课程1 IN ( [语文], [数学], [物理] ) ) t 

  

SQL UNPIVOT和PIVOT

标签:

原文地址:http://www.cnblogs.com/alphafly/p/5075951.html

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