-3

我目前正在为我的网站开发一个类似 Facebook 的聊天工具。现在我问自己,检查新消息的最佳方式(最好的 sql 查询)是什么? 我的表如下所示:

消息

messageID   | userID    | roomID    | message   | time
-----------------------------------------------------------
 4          | 1         | 1         | test      | 1369062603 
 9          | 2         | 1         | great     | 1369062609

房间

roomID  | host  | createTime
-----------------------------
 1      | 1     | 1369062600

room_to_user

roomID  | userID 
----------------
 1      | 1     
 1      | 2     

我计划添加群聊,这就是为什么我不想在我的消息表中添加单独的阅读列。我的下一个尝试是按时间过滤的 sql 查询。

你的尝试是什么?谢谢!

4

1 回答 1

0

这行得通吗?

Select m.*
From messages m join rooms r on m.roomID = r.roomID
    join room_to_user ru on r.roomID = ru.roomID
where ru.userID = @userID and m.time > @timeSinceLastRead

您没有指定您使用的是哪个 SQL(Sql Server?Oracle?MySql?),您可能不得不使用 m.time 的格式。

于 2013-05-20T16:01:42.580 回答