Mysql 相关表的查询
我目前正在尝试运行一个查询,该查询将显示相互关联的所有表。我没有做桌子的设计。所以我在制定时遇到了一些麻烦:不清楚Mysql 相关表的查询,mysql,database,Mysql,Database,我目前正在尝试运行一个查询,该查询将显示相互关联的所有表。我没有做桌子的设计。所以我在制定时遇到了一些麻烦:不清楚办公时间表格与日程安排表格之间的关系如何?总体而言,如何正确显示通过查询关联的所有表 SELECT * FROM schedule INNER JOIN semester ON schedule.semester_id = semester.id INNER JOIN office_hours ON office_hours.id = schedule.??? 我认为表sched
办公时间
表格与日程安排
表格之间的关系如何?总体而言,如何正确显示通过查询关联的所有表
SELECT *
FROM schedule
INNER JOIN semester ON schedule.semester_id = semester.id
INNER JOIN office_hours ON office_hours.id = schedule.???
我认为表
schedule
中的ID
只是一个auto\u increment
列,从office\u hours
加入schedule
的正确方法是office\u hours.schedule\u ID=schedule.sement\u 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
更新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
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
或链接列,这就是使用内部联接的原因。否则,请使用左联接
您必须使用两个表中的id:
...
inner join office_hours on office_hours.schedule_id = schedule.id;
请注意:
SELECT *
FROM
SCHEDULE
INNER JOIN semester
ON schedule.semester_id = semester.id
INNER JOIN office_hours
ON office_hours.schedule_id = schedule.id
看看定义的外键(当然假设设计者认为包含它们…)我猜,
时间表。学期id
与学期id
相关,不是吗?在该查询中是否包含教员
,类
,主修
,主修
,主修
表?对不起,我是新手。谢谢,这给了我一个关于部分的错误。错误:-未知列部分。计划id
-引发的完整错误是什么?奇怪的是,schedule\u id
出现在部分
表格中。@JohnWoo我的朋友,你能帮我吗。我试图在自己的数据库中创建这些表。以下是问题的链接: