提问者:小点点

连接另一个表中具有相同字段的两列


mysql查询从用户表中获取发送者和接收者的名称时,我有一个问题

USER_MATCH_LIST表的结构如下

这是用户

我想加入senderId与用户表,并获取firstname+lastname作为senderName,与receiverId相同,获取name作为receiverName,请指导我,谢谢


共2个答案

匿名用户

听起来您需要两个join:

select uml.*,
       concat(us.firstname, ' ', us.lastname) as sendername,
       concat(ur.firstname, ' ', ur.lastname) as receivername,
from user_match_list uml join
     users us
     on uml.sendid = us.id join
     users ur
     on uml.receiverid = ur.id;

匿名用户

您应该使用两个联接:

SELECT us.firstName + ' ' + us.LastName,
       us2.firstName + ' ' + us2.LastName
FROM dbo.user_match_list AS um
INNER JOIN dbo.Users AS us ON um.senderId = us.Id
INNER JOIN dbo.Users AS us2 ON uml.receiverId = us2.Id