【发布时间】:2020-04-17 12:24:20
【问题描述】:
我正在聊天。我有 4 张桌子:
房间
消息
客人
用户
在messages 表中存储消息,在表Users - users,Guest - 存储房间中的访客。一个房间就像一个对话或对话。 我想请求获取特定用户作为客人的每个房间的最新消息。
SELECT DISTINCT TOP (15) r.id_room, r.type_room, r.name_room,
m.content_message, m.image_message,
m.file_message, m.date_message, u.person
FROM Rooms AS r
INNER JOIN Guest AS g ON g.id_room = r.id_room
INNER JOIN Users AS u ON u.id_user = g.id_user
INNER JOIN Messages AS m ON m.id_room = r.id_room
WHERE g.id_user = 'OCI59TNG8ZZ'
ORDER BY m.date_message DESC
他会显示房间内的所有消息
如果 id_room 不重复,我认为这个请求会很好。 但我不明白该怎么做
【问题讨论】:
-
最好显示表格的 DDL 而不是图片。
-
这能回答你的问题吗? How do I use ROW_NUMBER()?
标签: sql sql-server inner-join chat