0

我在使用 mysql 查询时遇到以下问题。

给定2张桌子


身份证 | 姓名

1 | 约翰·多伊

2 | 简·多伊

3 | 冥王星


门票

身份证 | 所有者 | 开瓶器 | 分配给

1 | 1 | 2 | 3

2 | 3 | 1 | 2

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


我需要进行查询,用用户名替换 Owner、Opener、AssignedTo 列。

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

选择 * 从 ....

1 | 约翰·多伊 | 简·多伊 | 冥王星

2 | 冥王星 | 约翰·多伊 | 简·多伊

提前致谢。

4

2 回答 2

3

您可以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
于 2012-07-09T14:00:54.493 回答
0

选择门票。Id, POwner.Name AS Owner, POpener.Name AS Opener, PAssignedTo.Name AS AssignedTo FROM Tickets JOIN PersonAS POwner ON Owner= POwner.Id JOIN PersonAS POpener ON Opener= POpener.Id JOIN PersonAS PAssignedTo ON AssignedTo= PAssignedTo.Id

于 2012-07-09T14:13:27.493 回答