select a.classid,a.className,a.classTeacher,sum(b.maths) as maths,sum(b.chinese) as chinese
from a,b 
where a.classid=b.classid
group by a.classid,a.className,a.classTeacher

解决方案 »

  1.   

    select a.classid,a.className,a.classTeacher,sum(b.maths) as maths,sum(b.chinese) as chinese from a left join b on a.classid=b.classid group by a.classid,a.className,a.classTeacher
      

  2.   

    还是刚刚那个问题,我的其中有个字段bz是ntext类型的,请问如何让它也显示在那个查询语句中??
      

  3.   

    如何改呢!!用cast吗?我怎么用也不对啊!!
      

  4.   

    group by 只能对nvarchar int 等字段做聚合,如果是ntext就不行了! 
    如果在sql里可以对nText做Group by 操作 
      

  5.   

    select a.classid,a.className,a.classTeacher,a.bz,c.maths,c.chinese
    from a,(select classid,sum(b.maths) as maths,sum(b.chinese) as chinese
    from b group by classid) as c
    where a.classid=c.classid
      

  6.   

    A表 有 classid,className,classTeacher等字段,一个班一条记录
    B表 有 stuId,classid,studentName,studentSex,maths,chinese,等字段,一个班有多个学生,现在我要生成这样一张表,按班排,所有相同班不同学生的成绩maths和chinese全部相加起来!!
    比如,A表有五个班,那么最后得到的是五条记录,并且统计出每个班的总成绩。谢谢。select A.className,sum(B.maths),sum(B.chinese) from B inner join A on B.classid=A.classid group by A.className