解决方案 »

  1.   

    这个问题就是行转列问题,搜索下行转列就可以了,你这个课程应该固定,所以挨个写就可以了。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;
      

  2.   

    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...