码迷,mamicode.com
首页 > 数据库 > 详细

SQL 列 转换成 查询出来的 行

时间:2017-06-26 17:07:10      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:成绩表   from   cas   image   com   end   9.png   sql   images   

查询  每个学生 的  (姓名,语文,数学,英语,成绩)为列

表结构如下:

student: 学生表

技术分享

grade 成绩表 :

技术分享

查询出如下效果:

技术分享

SQL如下:

select s.name,a.* from student s,
(select sid,
	max(CASE kemu WHEN ‘语文‘ THEN chengji ELSE 0 END) ‘语文‘,
max(CASE kemu WHEN ‘数学‘ THEN chengji ELSE 0 END) ‘数学‘,
max(CASE kemu WHEN ‘英语‘ THEN chengji ELSE 0 END) ‘英语‘ 
 from grade GROUP BY sid ) a
where s.id = a.sid

  

 

SQL 列 转换成 查询出来的 行

标签:成绩表   from   cas   image   com   end   9.png   sql   images   

原文地址:http://www.cnblogs.com/GotoJava/p/7081024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!