mam problem z wyciągięciem produktów wg. atrybutów.
Jeden produkt ma wiele atrybutów - chcę zrobić filtr wyszukiwania i tak np. chcę znaleść produkt, który jest w kolorze niebieskim i w rozmiarze S.
Próboję z zapytaniem:
SELECT `Item`.`id`, `Item`.`quantity`, `Item`.`price`, `Item`.`minimal_price`, `Item`.`name`, `Item`.`description`, `Item`.`category_id`, `Item`.`is_active`, `Item`.`flag_id`, `Item`.`is_deleted`, `Item`.`expired`, `Item`.`created`, `Item`.`updated`, `Item`.`authake_users_id`, `Item`.`slug`, `Item`.`brand_id`, `Item`.`brand`, `Category`.`id`, `Category`.`parent_id`, `Category`.`lft`, `Category`.`rght`, `Category`.`name`, `Category`.`slug`, `Category`.`created`, `Category`.`updated`, `Category`.`is_active`, `Category`.`is_deleted`, `Category`.`sort` FROM `items` AS `Item` INNER JOIN `attributes_items` AS `AttributesItem` ON (`AttributesItem`.`item_id` = `Item`.`id`) LEFT JOIN `attributes` AS `Attribute` ON (`Attribute`.`id` = `AttributesItem`.`item_id`) LEFT JOIN `categories` AS `Category` ON (`Item`.`category_id` = `Category`.`id`) WHERE `AttributesItem`.`attribute_id` = 3 AND `AttributesItem`.`attribute_id` = 20 GROUP BY `Item`.`id` ORDER BY `Item`.`created` ASC LIMIT 25
ale nie zwraca mi w ogóle żadnego rekordu. cala sprawa rozchodzi się o:
WHERE `AttributesItem`.`attribute_id` = 3 AND `AttributesItem`.`attribute_id` = 20
nie rozumiem dlaczego to nie działa. jeśli dam warunek OR to wyszuka mi produkt albo niebieski albo w rozmairze S, a ja potrzebuje produkt dokładnie spełniający te 2 kryteria.
Proszę o podpowiedź jak to zrobić.
Pozdrawiam