Здравствуйте, коллеги!
Пытаюсь организовать хранение товаров и их свойств в MySQL. И при этом иметь возможность фильтровать товары по значениям свойств.
Создано четыре таблицы
`article` - id, name
+----+------------------+
| id | name |
+----+------------------+
| 1 | Футболка |
| 2 | Майка |
+----+------------------+
`prop` - id, name
+----+--------------+
| id | name |
+----+--------------+
| 1 | Цвет |
| 2 | Размер |
+----+--------------+
`prop_value` - id, name
+----+----------------+
| id | value |
+----+----------------+
| 1 | Белый |
| 2 | Красный |
| 3 | Большой |
+----+----------------+
`prop2article` - id, article_id, prop_id, prop_value_id
+----+---------+---------------+------------+
| id | prop_id | prop_value_id | article_id |
+----+---------+---------------+------------+
| 1 | 1 | 1 | 1 |
| 2 | 1 | 2 | 1 |
| 3 | 2 | 3 | 1 |
+----+---------+---------------+------------+
Теперь пытаюсь выбрать товар сразу по двум свойствам - Цвет (1) = Белый (1) и Размер (2) = Большой (3):
SELECT DISTINCT article.name
FROM article
INNER JOIN prop2article ON article.id = prop2article.article_id
WHERE
(prop2article.prop_id = 1 and prop2article.prop_value_id = 1)
AND
(prop2article.prop_id = 2 and prop2article.prop_value_id = 3)
И в итоге запрос ничего не отдаёт. Что я делаю не так?
Заранее благодарен за помощь!