Таблица для хранения общей информации по диалогу.
Таблица для хранения сообщений диалога - здесь будут храниться все сообщения привязанные к диалогу.
Таблица участников диалога
Так должно отработать.
select sender_id, text
from dialog
where dialog_id=1
order by created
Вывод диалога @dialog_id для пользователя @user_id выглядит так:
SELECT m.created, m.sender_id, m.text
FROM messages m
WHERE m.dialog_id = @dialog_id
AND m.created >= (SELECT u.joined
FROM users u
WHERE u.user_id = @user_id
AND u.dialog_id = @dialog_id /* LIMIT 1 */ )
ORDER BY m.created /* , m.id */
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости