Получение информации из той же таблицы при последнем соединении в mysql

У меня есть эта таблица, пользователи, которая содержит два типа пользователей. Пользователь может создать множество произведений и назначить им помощников. Работа Ивей состоит из нескольких страниц.

Пользователь

id | name | type
1   john    type1
2   jane    type2

Работа

id | name | owner | helper
1    work1    1        2
2    work2    1        2

страницы

id | name | work_id
1    page1   1
2    page2   1

Как мне получить имя владельца и помощника страницы?

Например, я хочу, чтобы на всех страницах работы была вся информация, включая имя владельца и помощника, а не только идентификаторы.

select p.id, p.name, p.work_id, work.owner as owner, work.helper as helper 
from pages as p
join work on work.id = p.work_id 
join user on user.id = work.owner
where p.work_id = 1

Предоставьте ожидаемый результат. Обратитесь к этой ссылке, чтобы узнать, как сформулировать хороший вопрос SQL: Почему я должен предоставлять MCVE для того, что мне кажется очень простым запросом SQL?

Madhur Bhaiya 31.10.2018 13:27
0
1
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте ниже:

select p.id, p.name, p.work_id, a.name as owner, b.name as helper 
from pages as p
join work on work.id = p.work_id 
join user a on a.id = work.owner
join user b on b.id = work.helper
where p.work_id = 1

как видите, вы можете объединиться дважды в разных столбцах и в одной и той же таблице.

Другие вопросы по теме