@madc0de

Как сформировать такой sql запрос?

Добрый день!

SELECT * FROM oc_product WHERE product_id IN (
SELECT * FROM oc_product_to_category WHERE category_id IN (
SELECT category_id FROM oc_product_to_category WHERE product_id = '1'
)
) limit 6


Как правильно написать такой sql запрос. А главное быстрый, без лишней нагрузки на бд

1) Мы получаем айди категории товара из таблицы 1
2) Мы берем из этой же таблицы все товары с данным айди категории
3) Мы берем все товары из таблицы 2
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
BorLaze
@BorLaze
Java developer
Так и написать.

Только в подзапросах надо не все поля вытаскивать, а только айди:

SELECT * FROM oc_product 
WHERE product_id IN (
    SELECT product_id FROM oc_product_to_category 
    WHERE category_id IN (
        SELECT category_id FROM oc_product_to_category 
        WHERE product_id = '1'
    )
) 
LIMIT 6
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы