Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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_Sql - Fatal编程技术网

如何连接MySQL中链接到一个表的三个表?

如何连接MySQL中链接到一个表的三个表?,mysql,sql,Mysql,Sql,如何连接所有链接到一个表的三个表 例如,我需要连接大学数据库中的学期表、学生表和课程表。 所有这些表都只链接到section表,而不链接到其他表,但我需要从所有三个表中检索数据 这些表之间有一个键关系 ex:课程表中将有一个courseid,与学生表中的外键引用相同 您应该决定需要什么类型的联接(内部联接、外部联接) 根据您的要求: 你需要学生为每学期选择的学分总数。为此,您可以使用以下查询 select selection.student_id, selection.course_id, se

如何连接所有链接到一个表的三个表

例如,我需要连接大学数据库中的学期表、学生表和课程表。
所有这些表都只链接到section表,而不链接到其他表,但我需要从所有三个表中检索数据

这些表之间有一个键关系

ex:课程表中将有一个courseid,与学生表中的外键引用相同

您应该决定需要什么类型的联接(内部联接、外部联接)

根据您的要求:

你需要学生为每学期选择的学分总数。为此,您可以使用以下查询

select selection.student_id, selection.course_id, selection.term_id, sum(course.credits) from selection 
join student on selection.student_id = student.id
join course on selection.course_id = course.id
join term on selection.term_id = term.id
group by selection.student_id, selection.course_id, selection.term_id

这些表之间有一个键关系

ex:课程表中将有一个courseid,与学生表中的外键引用相同

您应该决定需要什么类型的联接(内部联接、外部联接)

根据您的要求:

你需要学生为每学期选择的学分总数。为此,您可以使用以下查询

select selection.student_id, selection.course_id, selection.term_id, sum(course.credits) from selection 
join student on selection.student_id = student.id
join course on selection.course_id = course.id
join term on selection.term_id = term.id
group by selection.student_id, selection.course_id, selection.term_id

我们能得到表的列详细信息吗?假设db设计不好,而其中两个表实际上是一个表,你会怎么做?如果将三个表折叠在一个表中,您会怎么做?节表有一个student_id列作为student表的外键,一个course_id列作为course表的相对键,还有一个term_id列作为term表中的主键和节表中的外键。除通过节表外,其他3个表之间没有任何链接。我需要从课程表中计算学生每学期的学分数(学生表)(学期表)我们可以得到表的列详细信息吗设想数据库设计很糟糕,其中两个表实际上是一个-你会怎么做?如果将三个表折叠在一个表中,您会怎么做?节表有一个student_id列作为student表的外键,一个course_id列作为course表的相对键,还有一个term_id列作为term表中的主键和节表中的外键。除通过节表外,其他3个表之间没有任何链接。我需要从课程表(学生表)中计算每个学期的学分数(学期表)。谢谢Andrews,我想这就是我想要的。这就涵盖了它。我不知道您可以链接到同一查询中已链接到不同表的表。很高兴它解决了您的问题。也接受这个答案,因为我同意同样的@S.C.A.NThanks Andrews,我想这就是我想要的。这就涵盖了它。我不知道您可以链接到同一查询中已链接到不同表的表。很高兴它解决了您的问题。也接受此答案,即接受批准相同的@S.C.A.N