2 my 00 my_00 于 2015.06.14 10:29 提问

求助!!:SQL Server语句查询!!

我有一个SQL Server表,表明为:EvaluateTeacherGrade
运行效果如下图:
图片说明
图片说明
问题:
用SQL语句我如何得到如下表图示:
图片说明

 即:courseID相同的行其Grade字段各行分别进行累加合并。
例如:
courseID     ShowID     Grade     teacherID       studentID
100000          0                10        20070101         0711001   
100000          0              10        20070101       0853203   
合并后为:
courseID     ShowID     Grade     teacherID      
100000          0                20        20070101         

恳请各位行家高手不吝惜指教!万分感谢!!

4个回答

sinat_16849473
sinat_16849473   2015.06.14 10:33

select courseID,ShowID,sum(Grade) Grade,teacherID from EvaluateTeacherGrade group by courseID;

my_00
my_00 谢谢
2 年多之前 回复
CodeofWorker
CodeofWorker   2015.06.14 10:37

SELECT courseID, ShowID, SUM(Grade) AS Grade, TeacherID FROM EvaluateTeacherGrade
GROUP BY courseID, ShowID, TeacherID
聚合一下不就行了?

my_00
my_00 谢谢
2 年多之前 回复
lsx3344258
lsx3344258   2015.06.14 11:44

select ** from ** where **,基本上就是这个语法,可以镶嵌使用哦

my_00
my_00 谢谢
2 年多之前 回复
my_00
my_00   2015.06.14 20:26

首先,谢谢大家的慷慨帮助!再者,我还有一点需要完善!:在如上原问题所示效果图中,我如何得到所有courseID=200002 和teacherID=22222001 的相关信息表,如下表所示:

 courseID         courseName        teacherID         teacherName      count
 200002             德育2                  22222001            德育教师1          108

问题:我用如下SQL语句得到的count=90,这是什么原因啊??我该如何改正呢??
SQL语句如下所示:

 select C.courseID,C.courseName,C.teacherID,C.teacherName,Count(e.Grade) As count 
from EvaluateTeacherGrade e,Course C,Grade G 
where e.courseID=G.courseID and e.courseID=C.courseID and e.courseID='200002'and  e.teacherID='22222001' 
GROUP BY C.COURSEID,C.COURSENAME,C.TEACHERID,C.TEACHERNAME
Csdn user default icon
上传中...
上传图片
插入图片