Получить товары только с фото

280
03 ноября 2017, 09:19

Есть две таблицы. продукты и фото

Есть обычный запрос

SELECT *
FROM tm_product p
WHERE p.id_subcategory = $id_subcategory
ORDER BY p.id DESC

Который получает все товары из данной категории. Как в запросе написать что бы получать товары только с фото. Все фото находятся в отдельной таблице фото

Answer 1

Вариант 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

Возможны и иные варианты.

Answer 2

Как-то так:

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
READ ALSO
Как поместить строки файла в массив массивов?

Как поместить строки файла в массив массивов?

Есть txt файл в котором около 1000 строкНужно поместить эти строки в массив массивов по 12 элементов, в последнем массиве соотвественно будет...

315
Вставка по уникальному ключу

Вставка по уникальному ключу

Есть сущность с id и каким-то другим уникальным ключом (extId)Множество потоков (приложений) вставляют в БД сущности с незаполненным id, но известным...

225
Список папок и файлов в Assets

Список папок и файлов в Assets

Каким образом я могу получить названия папок в assets, а также список файлов в каждой из этих папок?

234
Как задать иконку для Cluster Markers

Как задать иконку для Cluster Markers

Есть много маркеровДобавляются через класстер

287