一、行转列 pivot
--行转列 pivot
--语法
table_source
PIVOT(
聚合函数(value_column)
FOR pivot_column
IN(<column_list>)
)
--实例
select * from tb_row
SELECT * FROM tb_row pivot( MAX(score) FOR course IN (语文,数学,物理) )a
结果:
二、列转行 unpivot
--列转行 unpivot
--语法
table_source
UNPIVOT(
value_column
FOR pivot_column
IN(<column_list>)
)
--实例
select * from tb_col
SELECT sname,course,score FROM tb_col UNPIVOT ( score FOR course IN ( [语文], [数学], [物理] ) ) a
结果: