Есть две таблицы. продукты и фото
Есть обычный запрос
SELECT *
FROM tm_product p
WHERE p.id_subcategory = $id_subcategory
ORDER BY p.id DESC
Который получает все товары из данной категории. Как в запросе написать что бы получать товары только с фото. Все фото находятся в отдельной таблице фото
Вариант 1:
SELECT DISTINCT *
FROM tm_product p
INNER JOIN tm_photo ph ON p.id = ph.product_id
WHERE p.id_subcategory = $id_subcategory
ORDER BY p.id DESC
Вариант 2:
SELECT *
FROM tm_product p
WHERE p.id_subcategory = $id_subcategory
AND EXISTS ( SELECT 1
FROM tm_photo ph
WHERE p.id = ph.product_id
)
ORDER BY p.id DESC
Возможны и иные варианты.
Как-то так:
SELECT
*
FROM
tm_product AS p
LEFT JOIN
tm_photos AS h
ON
h.id_product = p.id
WHERE
p.id_subcategory = $id_subcategory
ORDER BY
p.id DESC
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники