Проблема с написанием запроса MySQL для вывода фильтров товаров (каталог товаров)

Sasha_ch

Новичок
Прошу "помощь зала", т.к. свой мозг иссяк за 3 дня мозговой деятельности.. Поиск не помог. (много тем схожих но везде данный аспект не затронут)

база MySQL
+родственный мне PHP (хотя не внем тут проблема)

Есть упрощенно такая структура таблиц (каталог товаров, с фильтрацией по характеристикам):

PHP:
CREATE TABLE categories (category_id, ... );
CREATE TABLE products (product_id, category_id, ...);
CREATE TABLE properties (property_id, category_id, ...);
CREATE TABLE values(value_id, value)
CREATE TABLE properties_values (product_id, value_id,category_id); // где category_id - больше вспомогательное поле


Запрос который возвращает список айдишников на товары я додумался написать:
PHP:
SELECT product_id FROM products as p WHERE p.category_id = '100' AND p.product_id IN 
(SELECT product_id FROM properties_values WHERE value_id =948 AND product_id IN
(SELECT product_id FROM properties_values WHERE value_id =959 AND product_id IN
(SELECT product_id FROM properties_values WHERE value_id =954 OR value_id =953 )
)
) GROUP BY p.product_id

Список всех фильтров для конкретной категории (например с айди=100):
PHP:
SELECT pv.value_id, count(pv.value_id)
FROM products as p, properties_values as pv
WHERE p.category_id = '100' AND p.product_id= pv.product_id 
GROUP BY pv.value_id
проблема с выводом самого списка фильтров.. вот как пример здесь слева:
http://rozetka.com.ua/notebooks/c80004/filter/processor=intel_core_i7/

какой запрос написать чтобы отображались актуальные значения фильтра, после к примеру выбора 1-го или более значений... ??


http://rozetka.com.ua/notebooks/c80004/filter/processor=intel_core_i7/
- просьба обратить внимание, на часть фильтра "Процессор":
Intel Core i5 (+222) - товары которые сейчас отображены - не имеют этих свойств! но фильтра предлагаются!
Intel Core i3 (+227)
 

Sasha_ch

Новичок
возможно уже кто-то с этим сталкивался, и помнит решение... задача вроде почти стандартная... но красивого решения пока не вижу вообще..
 
Сверху