我对如何通过 mysql 查询显示记录集感到困惑,该查询将在历史表中显示两个不同的“真实”用户名,该表具有多个用户 ID 的列(即由用户 ID 创建的和分配给用户 ID 的列) - 我可以获取其中之一通过 JOIN,但是我如何 JOIN 等来显示两者,因为它们可能是不同的用户名?还有什么技巧吗?是通过 sql 还是其他函数/循环?
当前:
SELECT nxt_act_dev_hist.Created, nxt_act_dev_hist.assignedtoUserID,
nxt_act_dev_hist.createdbyUserID, nxt_user.username
FROM nxt_act_dev_hist
JOIN nxt_user
ON nxt_act_dev_hist.createdbyUserID=nxt_user.UserID
如果你不知道的话,我是这里的新手。
最佳答案
您可以加入同一个表两次,如下所示:
select
-- some other fields
createdByUser.UserName as CreatedByUserName,
assignedtoUser.UserName as AssignedToUserName
from
nxt_act_dev_hist
JOIN nxt_user as createdByUser
ON nxt_act_dev_hist.createdbyUserID = createdByUser.UserID
JOIN nxt_user as assignedtoUser
ON nxt_act_dev_hist.createdbyUserID = assignedtoUser.UserID
我不是 mysql 专家,但这应该可以。
关于mysql - 我可以使用 JOIN 在单个 mysql 查询中获取两个用户名(例如createdbyUserID 和signedtoUserID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556992/