工具环境:sqlserver2005版本以上,才会支持pivot关键字
实现目的:把一个列的数据,当成表头,显示的更加清晰明了
话不多说,直接上代码
注释尽在代码中,如有不懂或不对的地方,欢迎评论区留言。
select * from StudentScores
通过上面的SQL语句,查出如下结果集。(横向)
with cte as(
select UserName 姓名,Score,Subject from StudentScores
)
select * from cte as C
pivot(
Max(Score) for Subject in([語文],[數學],[英語])
) as t
通过pivot关键字,我们成功把Subject科目这一列,转换成了列头,
呈现出来(纵向)