Code Bye

mysql求纵表变横表的解决办法

示意表
no     name     subject     score
001   张三        数学           39
001   张三        语文           89
002   李四        数学           99
002   李四        语文           88
希望得到以下格式输出:
no      name      shuxuicore      yuwenscore
001    张三         39                     89
002    李四         99                     88
本人试了一种方法 ,用If条件语句把每条记录展开,最后用sum来做,但varchar类型的no字段,不好整,李四的no 显示不出来,
急求,多谢了!
解决方案

50

select no,name,case when subject=”数学” then score end as shuxuecore,case when subject=”语文” then score end as yuwenscore
from tb
group by no,name

50

引用

http://blog.csdn.net/acmain_chm/article/details/4283943
MySQL交叉表
在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx(  id int primary key,  c1 c…

.


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql求纵表变横表的解决办法