首页 > 数据库技术 > 详细

SQL 列 转换成 查询出来的 行

时间:2017-06-26 16:41:34      阅读:317      评论:0      收藏:0      [点我收藏+]

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

表结构如下:

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 列 转换成 查询出来的 行

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

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