首页 > 数据库技术 > 详细

sql 语句写的行列转换

时间:2016-08-27 11:12:45      阅读:164      评论:0      收藏:0      [点我收藏+]

  以前面试老遇到一个行列转换的问题,今天没事,顺便记录一下

假设有这样一张表,如下图,创建表就不说了,直接建或者SQL语句都行 

技术分享

sql语句如下

--第一种
select name as 姓名,
max(case Subject when ‘语文‘ then Result else 0 end) as 语文,
max(case Subject when ‘数学‘ then result else 0 end) as 数学,
max(case Subject when ‘英语‘ then Result else 0 end) as 英语,
max(case Subject when ‘政治‘ then Result else 0 end) as 政治,
max(case Subject when ‘物理‘ then Result else 0 end) as 物理
from cj group by Name

--第二种
select Subject as 科目,
MAX(case Name when ‘张三‘ then Result else 0 end) as 张三,
MAX(case Name when ‘李四‘ then Result else 0 end) as 李四,
MAX(case Name when ‘王五‘ then Result else 0 end) as 王五
from cj group by Subject	

  运行结果如下

 

技术分享

 

sql 语句写的行列转换

原文:http://www.cnblogs.com/jkqnb/p/5812401.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!