当前位置:Gxlcms > 数据库问题 > SQL UNPIVOT和PIVOT

SQL UNPIVOT和PIVOT

时间:2021-07-01 10:21:17 帮助过:3人阅读

/*

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

标签:

人气教程排行