I am doing chat.I have 4 tables:
Rooms
Messages
Guest
Users
In the messages table messages are stored, in the table Users - users, Guest - stores visitors in the room. A room is like a dialogue or conversation. I want to make a request to get the latest message for each room where a particular user is a 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
And he displays all the messages that were inside the room
I think this request would be good if id_room were not duplicated. But I don’t understand how to do it