这个问题就是行转列问题,搜索下行转列就可以了,你这个课程应该固定,所以挨个写就可以了。SELECT st.stuID,st.stuName, SUM(if(s.couID=1,s.grades,0)) '物理', SUM(if(s.couID=2,s.grades,0)) '语文', SUM(if(s.couID=3,s.grades,0)) '数学' ........ FROM scoerinfo s LEFT JOIN stuinfo st ON st.stuID=s.stuID GROUP BY s.stuID;
http://blog.csdn.net/acmain_chm/article/details/4283943MySQL交叉表 在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx( id int primary key, c1 c...
SUM(if(s.couID=1,s.grades,0)) '物理',
SUM(if(s.couID=2,s.grades,0)) '语文',
SUM(if(s.couID=3,s.grades,0)) '数学'
........
FROM scoerinfo s
LEFT JOIN stuinfo st ON st.stuID=s.stuID
GROUP BY s.stuID;
在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx( id int primary key, c1 c...