Получилось сделать выборку с одним WHERE AND:
Код: Выделить всё
SELECT `product`.*
FROM `product`
LEFT JOIN `product_parameter_value` ON `product`.`id` = `product_parameter_value`.`product_id`
LEFT JOIN `parameter_value` ON `product_parameter_value`.`parameter_value_id` = `parameter_value`.`id`
WHERE (`product`.`status`=10)
AND ((`parameter_value`.`id`=9) AND (`parameter_value`.`parameter_id`=3))
AND (`product`.`category_id`=3)
LIMIT 20
Код: Выделить всё
SELECT COUNT(*)
FROM `product`
LEFT JOIN `product_parameter_value` ON `product`.`id` = `product_parameter_value`.`product_id`
LEFT JOIN `parameter_value` ON `product_parameter_value`.`parameter_value_id` = `parameter_value`.`id`
WHERE (`product`.`status`=10)
AND ((`parameter_value`.`id`=4) AND (`parameter_value`.`parameter_id`=2))
!!!AND ((`parameter_value`.`id`=9) AND (`parameter_value`.`parameter_id`=3))!!!
AND (`product`.`category_id`=3)
Может я не до конца понимаю, но должно выбирать product у которого есть и тот parameter_value и другой. Для чего это все: фильтр товаров в каталоге
Подскажите, что делать, пожалуйста