Опять я в перегрузе.
Суть:
Веб-чат.
Есть комнаты постоянные (которые создал админ/модеры) и временные (которые создают пользователи). Есть таблица всех комнат + есть таблица пользователей online с названиями комнат, в которых они сейчас находятся.
Нужно получить одним запросом все постоянные комнаты + все временные, в которых есть хоть один пользователь. Либо наоборот, получить из временных те, где никого нет.
Две таблицы.
Первая "rooms"— "комнаты" чата:
id, room, type.
id = a_i.
room — название комнаты
type принимает значения "forever" или "time"
Вторая "sessions" — пользователи online:
id, name, lasttime, room
id = id сессии
name = имя юзера
lasttime = последняя активность
room = название комнаты, в которой находится.
Задача:
Взять из таблицы "rooms" только те комнаты, которые имеют type = "forever", и из оставшихся (с type = "time") только те, которые есть в таблице "sessions".
Делать два запроса и перебор очень долго (планируется >1000 пользователей online и каждый из них может создать по комнате, а то и по две). Нужно делать запрос со сравнением.. логику додумать не могу. Мозг отключается