Mysql左键联接来自同一父表的多个列

Mysql左键联接来自同一父表的多个列,mysql,join,Mysql,Join,我对mysql查询有以下问题 给出了两张表 人 Id |名称 1 |约翰·多伊 2 |无名氏 3 |冥王星 门票 Id |所有者|开证人|分配给 1 | 1 | 2 | 3 2 | 3 | 1 | 2 Owner、Opener、AssignedTo是链接到人员Id的外键 我需要做一个查询,用用户名替换Owner、Opener、AssignedTo列 只使用一列并没有问题(使用左连接就足够了),但我无法接收以下输出 从…中选择* 1 |约翰·多伊|简·多伊|布鲁托 2 |冥王星|无名氏|无名

我对mysql查询有以下问题

给出了两张表


Id |名称

1 |约翰·多伊

2 |无名氏

3 |冥王星


门票

Id |所有者|开证人|分配给

1 | 1 | 2 | 3

2 | 3 | 1 | 2

Owner、Opener、AssignedTo是链接到人员Id的外键


我需要做一个查询,用用户名替换Owner、Opener、AssignedTo列

只使用一列并没有问题(使用左连接就足够了),但我无法接收以下输出

从…中选择*

1 |约翰·多伊|简·多伊|布鲁托

2 |冥王星|无名氏|无名氏


提前感谢。

您可以多次加入
Person

SELECT t1.Id, t2.Name AS owner, t3.Name AS opener, t4.Name AS assignedTo
FROM Tickets t1
LEFT JOIN Person t2 ON t1.Owner = t2.Id
LEFT JOIN Person t3 ON t1.Opener = t3.Id
LEFT JOIN Person t4 ON t1.AssignedTo= t4.Id

您可以多次加入
Person

SELECT t1.Id, t2.Name AS owner, t3.Name AS opener, t4.Name AS assignedTo
FROM Tickets t1
LEFT JOIN Person t2 ON t1.Owner = t2.Id
LEFT JOIN Person t3 ON t1.Opener = t3.Id
LEFT JOIN Person t4 ON t1.AssignedTo= t4.Id

选择票据。
Id
,POwner.Name作为所有者,POpener.Name作为开封者,PAssignedTo.Name作为AssignedTo 从
票证
加入
Person
成为
Owner
=POwner.Id上的POwner 加入
Person
成为
Opener
=POpener.Id上的POpener
加入
Person
作为PAssignedTo ON
AssignedTo
=PAssignedTo.Id

选择票据。
Id
,POwner.Name作为所有者,POpener.Name作为开证人,PAssignedTo.Name作为AssignedTo 从
票证
加入
Person
成为
Owner
=POwner.Id上的POwner 加入
Person
成为
Opener
=POpener.Id上的POpener
JOIN
Person
作为PAssignedTo ON
AssignedTo
=PAssignedTo.Id

参见Thx Anderson先生,但我在寻找select语句,而不是update:)参见Thx Anderson先生,但我在寻找select语句,而不是update:)为什么不使用p1、p2和p3作为Person表的别名,而不是t2、t3,那么t4呢?我想是因为我完全忘记了这种可能性(真丢脸)。。。Xdazz谢谢,我会在5分钟后接受你的答案(接受答案之前的这个超时有点蹩脚,为什么不使用p1、p2和p3作为Person表的别名,而不是t2、t3和t4?我想是因为我完全忘记了这种可能性(真丢脸)…Xdazz谢谢,我会在5分钟后接受你的答案(在接受回答之前的这个超时有点蹩脚