SQL行转列

如图:

源表:

转换之后的结果:

SQL语句:

SELECT
姓名,
MAX(CASE WHEN 课程=‘语文‘ THEN 分数 else 0 end) ‘语文‘,
MAX(CASE WHEN 课程=‘数学‘ THEN 分数 else 0 end) ‘数学‘,
MAX(CASE WHEN 课程=‘物理‘ THEN 分数 else 0 end) ‘物理‘

FROM dbo.yyb_scores

GROUP BY 姓名

 

===========

select* from yyb_scores pivot( max(分数) for 课程 in (语文,数学,物理) ) a  特殊语法  

===========

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。