我联合加入两列,我在两列中获得了c@mail.com的记录。这是完美的。但我想要实现的是一个特定的用户" bb@mail.com"登录后,点击用户c@mail.com,他应该可以看到通过c@mail.com发送给他的消息,同时当c@mail.com登录时他也必须能够看到消息通过b@mail.com发给他的 因为当我执行时我似乎得到了c@mail.com发送给表中每个用户的所有消息。 我如何加入这些领域以使其发挥作用
SELECT *
FROM dbo.IM
INNER JOIN profile ON im.sid = profile.profile_id
WHERE sid = '3'
AND im_sender = 'c@mail.com'
UNION
SELECT *
FROM dbo.IM
INNER JOIN profile ON im.sid = profile.profile_id
WHERE rid = '2'
AND im_reciever = 'bb@mail.com'
ORDER BY id ASC
我使用下面的图片来解释。我只想将登录用户c@mail.com发送的记录返回给cgblay .....,但是如你所见,也发现了e@mail.com的记录
答案 0 :(得分:0)
对您的问题不太确定。好像你在这之后
SELECT *
FROM dbo.IM
INNER JOIN profile ON im.sid = profile.profile_id
WHERE sid = '3'
AND im_sender = 'c@mail.com'
and rid = '2'
AND im_reciever = 'bb@mail.com'