在最后一次连接中从同一个表中获取信息

时间:2018-10-31 12:25:21

标签: mysql

我有此表,用户包含两种类型的用户。用户可以创建许多作品并将助手分配给他们。 Evey工作包含几页。

用户

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

如何获取页面的名称所有者和助手?

例如,我希望包含所有信息的作品的所有页面,包括所有者和助手的名称,而不是突出ID

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

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

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

如您所见,您可以在不同的列和同一张表中两次联接。