我目前正在尝试运行一个查询,该查询将显示所有彼此相关的表。我没有做桌子设计。所以我在制作时遇到了一些麻烦:目前还不清楚office_hours
表如何与schedule
表相关联?总体而言,如何正确显示通过查询关联的所有表?
SELECT *
FROM schedule
INNER JOIN semester ON schedule.semester_id = semester.id
INNER JOIN office_hours ON office_hours.id = schedule.???
答案 0 :(得分:3)
我认为表ID
中的schedule
只是一个auto_increment
列,加入schedule
的{{1}}的正确方法是office_hours
。
office_hours.schedule_id = schedule.semester_id
更新1
select *
from schedule
inner join semester
on schedule.semester_id = semester.id
inner join office_hours
on office_hours.schedule_id = schedule.semester_id
假设每个表上都存在所有select *
from schedule
inner join semester
on schedule.semester_id = semester.id
inner join office_hours
on office_hours.schedule_id = schedule.semester_id
INNER JOIN faculty
ON faculty.id = office_hours.faculty_id
INNER JOIN Section
ON Section.faculty_ID = faculty.id AND
Section.Schedule_ID = Schedule.ID
INNER JOIN class
ON Class.ID = Section.Class_ID
INNER JOIN major_class_br
ON major_class_br.class_ID = Class.ID
INNER JOIN major_minor
ON major_class_br.major_minor_id = major_minor.ID
或链接列,这就是使用ID
的原因。否则,请使用INNER JOIN
。
答案 1 :(得分:0)
您必须使用两个表中的id:
...
inner join office_hours on office_hours.schedule_id = schedule.id;
答案 2 :(得分:0)
试试这个:
SELECT *
FROM
SCHEDULE
INNER JOIN semester
ON schedule.semester_id = semester.id
INNER JOIN office_hours
ON office_hours.schedule_id = schedule.id