【发布时间】:2011-08-19 01:08:11
【问题描述】:
我有 2 张桌子。为了简化:
表 1,用户:
userId 整数, 用户名 nvarchar(50)
表 2,消息:
msgId 整数, msgFrom int, msgTo int...
msg1 和 msg2,都包含 userId。现在我想获取所有消息,但不是 msgFrom 我想要用户名。我知道在这里做什么:
select tabMessages.*, tabUsers.userName as Sender
from tabMessages
inner join tabUsers on msgFrom=userId
where msgId = @someParameter;
一切正常,花花公子。获取用户名而不是 msgTo 相同。现在的问题是,如何在同一个调用中获取两个字段?我想把桌子弄成
msgId、msgFrom、msgTo、发件人、收件人。我尝试过:
select tabMessages.*, tabUsers.userName as Sender,
tabUsers.userName as Recipient
from tabMessages
inner join tabUsers on msgFrom=userId and msgTo=userId
where msgId = @someParameter;
但这不起作用。顺便说一句,我用的是Ms sql2000。
【问题讨论】:
标签: sql sql-server