Asp.net 如何联接这些表以显示关联的用户名?
我有三个表配置文件、消息和登录名,它们如下图所示,我想显示消息发送者和消息接收者的用户名(消息表中最后两行)。此查询仅显示与接收方id关联的用户名我能做什么Asp.net 如何联接这些表以显示关联的用户名?,asp.net,sql,sql-server,Asp.net,Sql,Sql Server,我有三个表配置文件、消息和登录名,它们如下图所示,我想显示消息发送者和消息接收者的用户名(消息表中最后两行)。此查询仅显示与接收方id关联的用户名我能做什么 SELECT Login.Username, Messages.Subject, Messages.Text, Messages.Status, Messages.Id, Messages.Senduserid,
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
关系
您需要加入登录表两次。为每个要退出的用户提供一次。(它们是替代品,但这通常是最简单和最常见的) 为此,您需要为登录表的每个引用指定一个不同的别名
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
您可以通过加入登录表两次来使用它
SELECT a.Username as ReceivedUsername,
b.Username as SentUsername,
c.Subject,
c.Text,
c.Status,
c.Id,
c.Senduserid,
c.Recuserid
FROM Login a, Login b, Messages c
where c.Recuserid = a.Profileid and c.Senduserid = b.Profileid
@DEM跑开了,对更多使用
,
符号的人大喊大叫。我们都注定了!!![此外,这是否有效?使用,
符号,在上使用,而不是何处
?]@Dems为什么这么严重?。。。修正了这件事。。忘了删除它:PSorry,这是一种滑稽的说法,我个人同意JOIN
应该总是优先于,
:)@Dems我理解你,伙计。我只是想讽刺一下!!