我很困惑如何通过mysql查询显示记录集,该记录集将在历史表中显示两个不同的“真实”用户名,该历史表具有多个userID(即createdbyUserID和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
如果你不知道我是这里的新手。
最佳答案
您可以将同一张表连接两次,如下所示:
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和AssignedtoUserID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5556992/