Programme Student Grade
Pid (pk) StudentID(pk) ModuleID(cpk)
ProgrammeID(fk) StudentID(cpk)
Gradepercent
我有三个表,一个程序表,成绩表和学生表。我正在尝试获得每个程序的平均百分比等级。问题是成绩表没有链接到Program表,只是通过student表连接。主键是程序表的programmeid(学生表中的fk)和student表中的studentid,并且在moduleid / studentid的成绩表中使用复合pk来识别等级。 (模块中包含不相关的数据库中的第四个表)
如何进行查询以获得某个程序的av等级?我假设有一种方法可以在不使用学生表的情况下完成,这是
SELECT AVG(Gradepercent) from grade AND group by ProgrammeID from programme
(synthax错误)但更喜欢使用student表通过关系访问成绩表中信息的查询。
关于如何解决这个问题的任何想法?我知道这不是很清楚,但如果有人能指出我正确的方向,那将会有很大的帮助。
(我有一个ERD会使这篇文章更加清晰,但出于某种原因,我不允许发布它,尽管有10个声誉)。
提前致谢。
答案 0 :(得分:2)
SELECT Student.ProgrammeID, AVG(Grade.GradePercent)
FROM Student
INNER JOIN Grade ON Student.StudentID = Grade.StudentID
GROUP BY Student.ProgrammeID