求一条SQL语句
表名[会话]
----------------
ID 自动编号
发送者 varchar(20)
接收者 varchar(20)
新消息 int
表名[用户]
----------------
ID 自动编号
用户名 varchar(20)
昵称 nvarchar(20)
个性签名 nvarchar(200)
说明:[会话]表的发送者和接收者就是[用户]表的不同用户的用户名
要求:建立一条联合查询语句,查询结果能够显示以下信息
会话.ID,会话.发送者,发送者.昵称,发送者.个性签名,会话.接收者,接收者.昵称,接收者.个性签名
------解决方案--------------------用join left语句
------解决方案--------------------
select
a.id as 会话ID,
a.发送者 as 会话发送者,
b.昵称 as 发送者昵称,
b.个性签名 as 发送者个性签名,
a.接收者 as 会话接收者,
c.昵称 as 接收者昵称,
c.个性签名 as 接收者个性签名
from 会话 a
left join 用户 b
on a.发送者=b.用户名
left join 用户 c
on a.接收者=c.用户名
------解决方案--------------------2楼的可以。 但是楼主的会话表为啥不存储发送人和接受人的 用户id? 如果用户名有重复不是有问题么(会关联出多条记录)?