我正在开发一个数据库,其中包含描述课程表的表(例如在大学或学校时)。 我已经学习MySQL一段时间了,所以我无法完全理解我所做的事情。 这是ERR图
请查看group_division表。创建该表是为了解决该问题 一组可以分为一半,每个子组不会在相同的受众群体中。 因此,一位老师将学习一个小组。 现在,我在创建查询以获取
时遇到了麻烦lesson_params.idLesson , lessons_params.time_lesson ,
subjects.Name , audiences.idAudience , teachers.Surname .
如您所见,有两个父表-shedule和group_division。 那么,如何使查询请求上面的数据呢? 看起来像
SELECT lesson_params.idLesson , lessons_params.time_lesson , subjects.Name ,
audiences.idAudience , teachers.Surname FROM
shedule INNER JOIN group_division ON group_division.fk_idShedule = shedule.idShedule
INNER JOIN subjects ON shedule.fk_subject = subjects.idSubject
INNER JOIN lesson_params ON shedule.fk_lessons_params = lesson_params.time_lesson
#and,now I need match group_division foreign keys(except fk_idShedule) to its parent tables
我可以获取group_division外键值
SELECT lesson_params.idLesson , lesson_params.time_lesson , subjects.Name ,
group_division.fk_idTeacher , group_division.fk_idAudience FROM
shedule
INNER JOIN group_division ON group_division.fk_idShedule = shedule.idShedule
INNER JOIN subjects ON shedule.fk_subject = subjects.idSubject
INNER JOIN lesson_params ON shedule.fk_lesson_params lesson_params.time_lesson;
结果
|idLesson | time_lesson | Name | fk_Teacher | fk_idAudience|
有什么建议吗?但是,请只重制表结构)
答案 0 :(得分:0)
也许我遗漏了一些东西,但是在我看来,您可以再添加两个连接:
INNER JOIN teachers ON teachers.idTeacher = group_division.fk_idTeacher
INNER JOIN audiences ON audiences.idAudience = group_division.fk_idAudience
也许您认为每个INNER JOIN都必须引用shedule
中的一列,因为它是FROM子句中的第一个表。但是事实并非如此。