#php #mysql #sql #база_данных
Есть 2 таблицы. [users] - id - name [prmess] - id - date - from_id - to_id - text - view (boolean) 1/0 Собственно с выводом данных конкретного диалога/добавлением сообщений и т.п. проблем нет. Возникает проблема с выводом списка диалогов. То есть сообщения от меня к пете, и от пети ко мне это один диалог, а как составить запрос таким образом? более того нужно как-то суммировать непрочитанные сообщения (view) в этом диалоге только от собеседника (исключая свои). На выходе должно получиться что то вроде: Собеседник [Петя], непрочитанных сообщений [2], id собесед.=2 Собеседник [Вася], непрочитанных сообщений [5], id собесед.=3 Собеседник [Женя], непрочитанных сообщений [0], id собесед.=4 Собеседник [Коля], непрочитанных сообщений [1], id собесед.=5
Ответы
Ответ 1
select name,sum(not_view) msg_cnt,int_id from ( select if(from_id=1,to_id,from_id) int_id, 1-view not_view from prmess where from_id=1 or to_id=1 ) A join users2 on id=int_id group by int_id
Комментариев нет:
Отправить комментарий