所以我正在编写一个简单的收件箱私人消息系统。
我的表架构如下:
我可以通过将userID与receiverID相关联来显示用户的消息。但是,我还希望将他在收件箱中发送的消息显示给用户。
例如,他的收件箱应显示:
Darth Vader - 3条新消息
卢克 - 0 新消息(0因为我读过 所有这些或我发给他的消息 并且他没有回复)。
但我只想出的是
Darth Vader - 3条新消息。
我可以获得有关如何完成此SQL调用的任何帮助吗?
编辑:清除混乱
我既不是卢克也不是达斯。我收到了来自darth的3条新消息,我已经向luke发送了一条消息。
编辑** 基本上我希望能够像短信应用程序一样制作收件箱,在那里你可以看到你刚刚在朋友的短信列表中发送的短信。
答案 0 :(得分:0)
SELECT users.username, count(messageID) AS unread
FROM users, messages
WHERE messages.senderID=<USER ID>
AND messages.receiverID=users.userID
AND messages.read=0
为了确保我做对了,这个查询会显示我发送消息的所有用户,并计算那些尚未读取的消息的数量。