У меня есть три таблицы:SQL Filtering Комплексный запрос
ПРОДУКТА
PRODUCT_ID|NAME
1 |Elaborado
2 |Adidas
PRODUCT_ATTRIBUTE
PRODUCT_ATTRIBUTE_ID|PRODUCT_ID|ATTRIBUTE_ID|VALUE
1 |1 |1 |Solid
2 |1 |2 |Casual
3 |2 |1 |Solid
ATTRIBUTE
ATTRIBUTE_ID|DESCRIPTION
1 |Pattern
2 |Occasion
Все атрибуты находятся в таблице ATTRIBUTE. Связь между продуктами и атрибутами находится в PRODUCT_ATTRIBUTE. Теперь мне нужно фильтровать продукты, основанные на атрибутах:
Для бывших: Я нужны продукты, чьи Паттерн «Solid» и повод «Casual»:
Результат должен быть, как показано ниже:
PRODUCT_ID
----------
1
Я использую базу данных Mysql. Я подготовил SQLFiddle: http://sqlfiddle.com/#!9/aa2be/3
Пожалуйста, помогите.
Thanks, Sash.
Я хотел бы сделать псевдо нормализованы стержень и фильтр, что. Это не самый быстрый метод, но это самый простой способ подумать о смешении различных требований фильтрации. – Strawberry