Как сделать несколько соединений трех соединенных таблиц с четвертой таблицей в MYSQL - PullRequest
0 голосов
/ 13 января 2019

Схема базы данных для этого вопроса находится здесь: db fiddle

Я пытаюсь сделать следующее:

  1. Соединить таблицу A (групповая таблица) с таблицей J (групповые комнаты)
  2. Соединить таблицу B (стол в комнате) с таблицей J (комнаты в группе)
  3. Наконец, присоединиться к таблице C (пользователи), к таблице A - к таблице примечаний A, уже присоединенной к J

Я написал запрос, который выполняет шаги 1 и 2, но не могу понять, как присоединить таблицу пользователей к таблице группы.

Вот мой запрос:

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 голосов
/ 13 января 2019

Вы можете просто добавить еще один 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

См. обновленную скрипку БД :

  • В группе 6 не показано ни одного пользователя, поскольку в группе 3 нет пользователя (ОПЕРАЦИИ)
  • grouproom 7 не связана с группой, следовательно, у нее нет имени группы и пользователя
...