现在有两个表,一个是学生表,一个学生成绩表
一个学生表
姓名    班级
陈小    101
王二    102
吴三    101另一个学生成绩表姓名    科目   成绩
陈小    英语   90
陈小    语文   80王二    英语   90
王二    语文   85吴三    英语   80
吴三    语文   70
能不能把这两张表合并一起,查询出来
比如姓名    班级   总成绩
陈小    101     170
王二    102     175
吴三    101     150

解决方案 »

  1.   

    select a.姓名,a.班级,b.cj from 学生表 a
    left join (select 姓名,sum(成绩) as cj from 学生成绩表 group by 姓名) b on a.姓名=b.姓名
      

  2.   

    select a.姓名,a.班级,b.成绩 from 学生表 a
    inner left 
    (select 学生表Id,SUM(成绩) as 成绩 from 成绩表 group by 学生表Id) b
    on(a.Id=b.学生表Id)注意,学生表Id是成绩表中的学生表外键!不会有错的。
      

  3.   

    select a.姓名,a.班级,b.成绩 from 学生表 a
    inner join (select 学生表Id,SUM(成绩) as 成绩 from 成绩表 group by 学生表Id) b
    on(a.Id=b.学生表Id)前面的写错了inner join