Py学习  »  DATABASE

在mysql中,如何将三个连接表与第四个表进行多次连接

Mutuelinvestor • 5 年前 • 1693 次点击  

此问题的数据库架构位于以下位置: db fiddle

我正在尝试执行以下操作:

  1. 将表A(组表)联接到表J(组室)
  2. 将表B(房间表)连接到表J(分组房间)
  3. 最后连接表c(用户)表a-注意表a已经连接到j

我已经编写了一个完成步骤1和2的查询,但无法确定如何将users表连接到group表。

这是我到目前为止的问题:

select rooms.room_name, groups.group_name, groups.group_ID 
from grouprooms 
left join rooms on grouprooms.room_ID = rooms.room_ID 
left join groups on grouprooms.group_ID = groups.group_ID;
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43748
 
1693 次点击  
文章 [ 1 ]  |  最新文章 5 年前
GMB
Reply   •   1 楼
GMB    6 年前

你可以再加一个 LEFT JOIN 到表中链接的查询 users :

select rooms.room_name, groups.group_name, users.name 
from grouprooms 
left join rooms on grouprooms.room_ID = rooms.room_ID 
left join groups on grouprooms.group_ID = groups.group_ID
left join users on grouprooms.group_id = users.group_id

your updated db fiddle :

  • 由于组3(操作)中没有用户,因此组6没有显示用户
  • GroupRoom7未链接到组,因此它没有组名和用户