Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 相关表的查询_Mysql_Database - Fatal编程技术网

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我的朋友,你能帮我吗。我试图在自己的数据库中创建这些表。以下是问题的链接: