Programme                     Student                      Grade
Pid (pk)                      StudentID(pk)                ModuleID(cpk)
                              ProgrammeID(fk)              StudentID(cpk)
                                                           Gradepercent

我有三张表,一张课程表,一张成绩表和一张学生表。我想得到每个课程的平均分数。问题是,成绩表与课程表没有关联,只是由学生表连接。主键是programmeid for The programme table(fk in student table)和studentid in The student table,复合主键用于moduleid/studentid的成绩表中标识成绩。(模块a数据库中的第四个表包含与之无关的moduleid)
如何查询节目的影音等级?我想有一种方法可以不用学生桌,就像
SELECT AVG(Gradepercent) from grade AND group by ProgrammeID from programme

(synthax error)但更希望查询使用student表通过它们的关系访问grades表中的信息。
有什么办法吗??我知道这不是很清楚,但如果有人能给我指一个正确的方向,会有很大帮助。
(我有一个ERD,可以使这篇文章更清楚,但出于某种原因,我不允许张贴,尽管有10个声誉)。
提前谢谢。

最佳答案

SELECT Student.ProgrammeID, AVG(Grade.GradePercent)
FROM Student
INNER JOIN Grade ON Student.StudentID = Grade.StudentID
GROUP BY Student.ProgrammeID

关于mysql - 通过另一个表进行SQl查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15620656/

10-16 15:41