为一个表声明两个引用

vc9ivgsu  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(223)

我想根据某些条件从不同的表中提取一些记录。这些表在某种程度上是相关的,但我的查询给出了编译错误。
此查询用于获取两个不同类的课程id:

select c.id, c1.id
FROM college.student s 
left join college.classroom (p1, p2) on p1.class_id=s.child_id 
                                    and p2.class_id=s.parent_id 
left join college.course (c, c1) on p1.class_id=c.id 
                                 and p2.class_id=c1.id;

我想让p1,p2都这样加入他们。基本上有两个连接。基本上,我只是想知道如何连接同一个表的两个不同引用。

qvk1mo1f

qvk1mo1f1#

select c.id, c1.id   /* , s.id  */
FROM college.student s 
left join college.classroom p1 on p1.class_id=s.child_id
left join college.classroom p2 on  p2.class_id=s.parent_id 
left join college.course c on p1.class_id=c.id           
left join college.course c1 on p2.class_id=c1.id;

你确定你需要左连接吗?也许内心就够了?
基本上,我只是想知道如何连接同一个表的两个不同引用。
当您需要引用一个表两次时,您必须使用两个表副本,每个单独的引用使用单独的表副本。

相关问题