Всем привет) нужна помощь в выборке товаров из таблицы по нескольким атрибутам/свойствам, собственно структура БД такая:
Таблица products - хранятся товары и их общие свойства.
Таблица attributes - хранятся доступные атрибуты.
Таблица products_attributes - связывает товары с атрибутами (id товара, id атрибута и значение).
Примеры таблиц:
![3ae58897dd1745088ddac19293bc9947.png](https://habrastorage.org/web/3ae/588/97d/3ae58897dd1745088ddac19293bc9947.png)
![ca014ad2a0df46b889a75d92e5510ef6.png](https://habrastorage.org/web/ca0/14a/d2a/ca014ad2a0df46b889a75d92e5510ef6.png)
![a51164e2f11c4608b7f8de67d3a5d72e.png](https://habrastorage.org/web/a51/164/e2f/a51164e2f11c4608b7f8de67d3a5d72e.png)
Вопрос в следующем, при объединении всех таблиц (что бы получить товары с их атрибутами) ожидаемо выходит таблица где количество строк одного конкретного товара столько, сколько у него атрибутов, и если искать товар по какому-то одному атрибуту понятно как, то допустим найти товар у которого цвет и красный и синий (то есть по двум атрибутам) я не совсем понимаю как!? Если кто может объяснить буду благодарен!?!