Нужна помощь в создании запроса на основе значений фильтра ui

Прошло уже несколько месяцев с момента запуска нашего интернет-магазина, и мы по-прежнему создаем новый bling, чтобы посетители могли легко просматривать каталог.

На данный момент мы пытаемся добавить фильтр, который фильтрует по спецификации продукта.

Предположим, что доступны следующие варианты

ПАМЯТЬ

  1. 8 ГБ
  2. 12 ГБ

ПРОЦЕССОР

  1. INTEL
  2. AMD A
  3. AMD E

SQL, чтобы получить все соответствующие идентификаторы продукта, выглядит так:

SELECT `lu_specifications` . * , `app_products`.`id` AS product_id FROM ( `lu_specifications` ) LEFT OUTER JOIN `link_products_specifications` link_products_specifications ON `lu_specifications`.`id` = `link_products_specifications`.`specification_id` LEFT OUTER JOIN `app_products` app_products ON `app_products`.`id` = `link_products_specifications`.`product_id` LEFT OUTER JOIN `link_categories_products` product_link_categories_products ON `app_products`.`id` = `product_link_categories_products`.`product_id` WHERE `product_link_categories_products`.`category_id` =160 AND ( `lu_specifications`.`id` = '60' AND `link_products_specifications`.`pres_value` = '8 GB' ) AND ( ( `lu_specifications`.`id` = '54' AND `link_products_specifications`.`pres_value` = 'AMD A' ) OR ( `lu_specifications`.`id` = '54' AND `link_products_specifications`.`pres_value` = 'AMD E' ) ) 

В этом примере SQL посетитель выбрал бы опции фильтра «8 ГБ», «AMD A» и «AMD E». Поэтому он хотел бы получить продукт, у которого есть (8 ГБ) И ((AMD A) ИЛИ (AMD E)). Правильно ли этот метод? Поскольку мы уверены, что он должен возвращать как 17 продуктов, но SQL не возвращает ни одного, и он не генерирует никаких ошибок.

Может ли кто-нибудь указать нам в правильном направлении, пожалуйста? 🙂