我对如何通过mysql查询显示记录集感到困惑,该查询将在历史表中显示两个不同的“真实”用户名,这些用户名包含多个用户ID的列(即createdUserID和assignedtoUserID) - 我可以得到其中一个通过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
如果你不知道的话,我在这里是个新手。
答案 0 :(得分:2)
你可以加入同一张桌子两次,如下所示:
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家伙,但这应该可行。