Таблица SQL создание диалогов (Мессенджер)
я делаю свой мессенджер. Собственно можно сделать всё в одну таблицу
id
user_from
user_to
text
is_read
timestamp
Есть нюанс, мне нужны еще настройки диалогов. Закреплен ли диалог, убран ли в архив. Поэтому я сделал еще одну таблицу, но уже вижу в ней тупик и не могу понять как правильно построить запрос вывода всех диалогов только по одному типу (Например мы открыли архивные сообщения).
id
uid1
uid2
u1_type - Убрал ли первый юзер в архив диалог
u2_type - Убрал ли второй юзер в архив диалог
last_update - Дата последнего сообщения, для ORDER BY last_update DESC
Так вот, если я пишу запрос WHERE uid1 = 1 OR uid2 = 1, то как мне сделать фильтр по настройки u1 или u2 мне нужен? Потому что значение настройки для юзера может быть и там и там. Или создавать еще одну таблицу dialog_settings? Тогда как по ней фильтровать? Через left join?