WITH messages AS (
SELECT 0 AS id, 1 AS author_id, 'message1to2' AS text, '2020-01-01'::timestamp UNION
SELECT 1 AS id, 2 AS author_id, 'message2to1' AS text, '2020-01-02'::timestamp
),
dialogues AS (
SELECT 1 AS first_user, 2 AS second_user, 1 AS message_id
),
users AS (
SELECT 1 AS id, 'username1' AS user_name UNION
SELECT 2 AS id, 'username2' AS user_name
)
SELECT *
FROM
messages m
JOIN dialogues d ON d.message_id = m.id
в ней хранится информация о том, кто отправил сообщение,
хранится информация о двух пользователях, которые находятся в диалоге
и ID последнего сообщения в этом диалоге
Мне необходимо получить такой результат одним запросом:
По итогу у меня должна получится такая таблица/ответ