в нескольких - вначале собирается массив c_id комнат в которых находится пользователь.
затем в следующий запрос передается этот массив, чтобы найти список id пользователей в этих комнат, где он не равен текущему пользователю, а этот массив можно передать в третий запрос к user_profile чтобы все нужные профили достать одним запросом.
затем в следующий запрос передается этот массив, чтобы найти список id пользователей в этих комнат, где он не равен текущему пользователю, а этот массив можно передать в третий запрос к user_profile чтобы все нужные профили достать одним запросом.