使用sql的消息系统

时间:2014-08-17 02:06:29

标签: sql-server

我正在开发一个消息系统,我希望两个用户都能看到他们在升序中发送给对方的消息,我有这个代码,但似乎无法正常工作。当一个人登录时,他只能看到他发给另一个用户的消息,他们看不到他的消息。但是他应该能够找到他已经发送给他的人以及他被其他用户收到的

SELECT *
FROM messaging
WHERE sender_id = MMColParam1 AND reciever_id = MMColParam2 OR sender_id = MMColParam3 AND reciever_id=MMColParam4

1 个答案:

答案 0 :(得分:0)

我认为您需要在AND/OR周围使用括号。根据{{​​3}},SQL将从左到右评估它们,这意味着您的语句与

相同
WHERE (((sender_id = MMColParam AND reciever_id = MMColParam2) OR sender_id = MMColParam3) AND reciever_id=MMColParam4)

你可能会追求的是

WHERE (sender_id = MMColParam AND reciever_id = MMColParam2) OR (sender_id = MMColParam3 AND reciever_id=MMColParam4)