Сложная SQL выборка по несколько значениям
Имеется следующий sql запрос:
SELECT *
FROM product
WHERE id IN (
SELECT product_id
FROM product_category
WHERE cat_id = '39'
)
AND id IN (
SELECT product_id
FROM product_options
WHERE opt_id IN (
31
,62
)
)
AND STATUS = '1'
AND activate = '1'
Необходимо вывести только те товары из БД, у которых перечислены опции.
Пробовал решение отсюда https://ru.stackoverflow.com/questions/424314/Выборка-по-нескольким-значениям-sql но тогда у меня вообще ничего не выводится.
SELECT *
FROM product
WHERE id IN (
SELECT product_id
FROM product_category
WHERE cat_id = '39'
)
AND id IN (
SELECT product_id
FROM product_options
WHERE opt_id IN (
31
,62
)
)
AND STATUS = '1'
AND activate = '1'
GROUP BY id
HAVING (COUNT(*) = 2)
ORDER BY id DESC LIMIT 20 OFFSET 0
