mysql - 我可以使用 JOIN 在单个 mysql 查询中获取两个用户名(例如createdbyUserID 和signedtoUserID)

标签 mysql

我对如何通过 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/

相关文章:

php - 排序然后设置变量

mysql - 即使该列存在于 mysql 表中,也会出现未知列错误

mysql - 使用sql查找重复记录并在同一操作中删除

php - 如何在两个Android设备之间传输数据?

php - 如何使用 CI 事件记录将数据插入带空格的字段名称?

java - @DateTimeFormatter 没有前导零只是 yyyy-MM-dd 作为我的 SQL Spring Boot

php - 完整性约束违规 : Magento

mysql - 需要将 MySQL 查询转换为 PostgreSQL

php - mysqli::real_connect(): (HY000/2005): 未知的 MySQL 服务器主机

mysql - Doctrine/Symfony "translates"空串变成NULL