Задать вопрос
@alexzen

Как написать SQL запрос, когда 2 поля из первой таблицы ссылаются на вторую таблицу?

Есть таблица users
  • id
  • name (имя)


Есть таблица events
  • id
  • name (название события)
  • user_id (id менеджера)
  • executor_id (id организатора)


Поля user_id и executor_id из events ссылаются на поле id в users

Хочу, чтобы вывод был таким:
название события, имя менеджера, имя организатора

Не могу понять, как правильно построить SQL запрос. Знаю, как выводить имя менеджера или имя организатора, а вот чтобы и то и другое вместе не получается.

Вот так не работает:

select `events`.`name`, `users`.`user_id `.`name`,  `users`.`executor_id`.`name` 
from `events` left join `users` on (`events`.`executor_id` =  `users`.`id`) and (`events`.`user_id` = `users`.`id`)


Как написать запрос правильно?
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Простой 3 комментария
Решения вопроса 1
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
select 
    `events`.`name`, 
    `users`.`name`  as `user_name`,
    `executors`.`name` as `executor_name`
from `events` 
left join `users`  `executors` on `events`.`executor_id` =  `executors `.`id`
left join `users`   on `events`.`user_id` = `users`.`id`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы