我可以使用JOIN在单个mysql查询中获取say,createdbyUserID和assignedtoUserID的两个用户名

时间:2011-04-05 18:56:05

标签: mysql

我对如何通过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
如果你不知道的话,我在这里是个新手。

1 个答案:

答案 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家伙,但这应该可行。