查询相关表

时间:2012-11-06 13:53:21

标签: mysql database

我目前正在尝试运行一个查询,该查询将显示所有彼此相关的表。我没有做桌子设计。所以我在制作时遇到了一些麻烦:目前还不清楚office_hours表如何与schedule表相关联?总体而言,如何正确显示通过查询关联的所有表?

SELECT * 
FROM schedule
INNER JOIN semester ON schedule.semester_id = semester.id
INNER JOIN office_hours ON office_hours.id = schedule.???

3 个答案:

答案 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
相关问题