Mysql 通过另一个表进行SQl查询

Mysql 通过另一个表进行SQl查询,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我有三个表格,一个是课程表,一个是成绩表,一个是学生表。我试图得到每个课程的平均分数百分比。问题是成绩表没有链接到课程表,只是通过学生表连接。主键是Program表(student表中的fk)的programmeid和student表中的studentid,moduleid/studentid的成绩表中使用复合pk来标识成绩。(数据库中包含moduleid的第四个表中的模块a不相关) 我如何进行查询以获得节目的av分数?我假设有一种不使用学生表的方法,类似于 Programme

我有三个表格,一个是课程表,一个是成绩表,一个是学生表。我试图得到每个课程的平均分数百分比。问题是成绩表没有链接到课程表,只是通过学生表连接。主键是Program表(student表中的fk)的programmeid和student表中的studentid,moduleid/studentid的成绩表中使用复合pk来标识成绩。(数据库中包含moduleid的第四个表中的模块a不相关)

我如何进行查询以获得节目的av分数?我假设有一种不使用学生表的方法,类似于

Programme                     Student                      Grade
Pid (pk)                      StudentID(pk)                ModuleID(cpk)     
                              ProgrammeID(fk)              StudentID(cpk)
                                                           Gradepercent    
(synthax错误),但更喜欢使用student表通过其关系访问grades表中的信息的查询

你有什么想法吗??我知道这还不是很清楚,但如果有人能给我指出正确的方向,那将非常有帮助

(我有一个ERD,这将使这篇文章更加清晰,但出于某种原因,我不允许发布它,尽管我有10个声誉)


提前感谢。

太好了;我很高兴它成功了!您最初的问题是,您是否可以跳过
学生
表,但您不能,因为
学生
是将
课程
成绩
联系在一起的因素。这对你有意义吗?我希望如此;这是一个重要的概念。如果它现在没有意义,不要惊慌——当您处理其他查询时,它会变得清晰:)
SELECT AVG(Gradepercent) from grade AND group by ProgrammeID from programme
SELECT Student.ProgrammeID, AVG(Grade.GradePercent)
FROM Student
INNER JOIN Grade ON Student.StudentID = Grade.StudentID
GROUP BY Student.ProgrammeID