rez*_*ary 4 sql sql-server asp.net
我有三个表格配置文件,消息和登录相关如下图所示,我想显示消息发送者和消息接收者的用户名(消息表中的最后一行).此查询仅显示与接收方ID关联的用户名我该怎么办?
SELECT Login.Username,
Messages.Subject,
Messages.Text,
Messages.Status,
Messages.Id,
Messages.Senduserid,
Messages.Recuserid
FROM Login INNER JOIN Messages
ON Login.Profileid = Messages.Recuserid
Run Code Online (Sandbox Code Playgroud)
关系

您需要两次加入登录表.一次为您想要拔出的每个用户.(它们是替代品,但这通常是最简单和最常见的).
为此,您需要为Login表的每个引用提供不同的Alias ...
SELECT
Message.*,
sender.Username,
receiver.Username
FROM
Messages
INNER JOIN
Login AS sender
ON sender.Profileid = Messages.Senduserid
INNER JOIN
Login AS receiver
ON receiver.Profileid = Messages.Recuserid
Run Code Online (Sandbox Code Playgroud)