Для того, чтобы выбрать все помещения из одной таблицы и добавить к ним все фотографии объектов из другой таблицы, можно использовать оператор LEFT JOIN. Однако, если делать LEFT JOIN, то добавится только одна фотография, хотя их может быть много. Чтобы добавить только одну фотографию с меньшим индексом, можно использовать подзапрос. Например, запрос может выглядеть так:
SELECT *
FROM rooms r
LEFT JOIN (
SELECT *
FROM photos p
WHERE p.room_id = r.id
ORDER BY p.index ASC
LIMIT 1
) p ON r.id = p.room_id;
В данном запросе мы выбираем все помещения из таблицы rooms и объединяем их с подзапросом, который выбирает только одну фотографию с меньшим индексом из таблицы photos. Подзапрос выбирает фотографии только для текущего помещения, используя условие WHERE
p.room _id =
r.id . Затем фотографии сортируются по индексу в порядке возрастания и выбирается только первая фотография с помощью LIMIT 1. Результатом запроса будет список всех помещений из таблицы rooms с одной фотографией из таблицы photos с меньшим индексом.
если делаю left join до добавляется одна фотка. а их может быть много. (хотя мне нужна одна , но с меньшим индексом)