在MySQL中,如何将三个联接的表多重联接到第四个表

时间:2019-01-13 15:51:00

标签: mysql mysql-workbench

此问题的数据库模式位于: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;

1 个答案:

答案 0 :(得分:0)

您只需在查询中添加另一个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

请参见Flutter

  • 第6组会议室没有显示用户,因为第3组中没有用户(操作)
  • grouproom 7未链接到组,因此它没有组名和用户