Добрый день, есть запрос
SELECT *, agd.name AS attribute_group, a.attribute_id as attribute_id FROM attribute a LEFT JOIN attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN attribute_group_description agd ON (a.attribute_group_id = agd.attribute_group_id) WHERE 1 group by a.attribute_id ORDER BY ad.name ASC LIMIT 0,20
запрос выбирает все наименования атрибутов
есть таблица product_attribute в ней
product_id attribute_id
и есть product_category, в ней
product_id category_id
как добавить в запрос, что бы выбирались не все значения, а только те, которые есть в товарах конкретной категории по id категории переданной в переменной filter_category ?
пробовала добавить после WHERE 1
AND a.attribute_id IN (SELECT pc.product_id, pa.attribute_id FROM product_category pc LEFT JOIN product_attribute pa ON (pc.product_id = pa.product_id) WHERE pc.category_id = $filter_category GROUP BY pa.attribute_id)
дает ошибку
Uncaught Exception: Error: Operand should contain 1 column(s)
я понимаю что запрос возвращает несколько значений вместо одно, но как исправить это не могу добиться (
или может вообще неправильно составила запрос ?
спасибо.