Реализация фильтра по свойствам в Mysql. Как ограничить поиск?
пытаюсь реализовать сложный фильтр по свойствам с привязкой к категориям.
Схема SQL базы следующая: https://hsto.org/webt/bg/ri/9y/bgri9yoklelfsrtvxyidh-mgozy.png
Задача стоит в том, чтобы на основе выбранных фильтров произвести ограниченный поиск, пытаюсь реализовать следующим образом:
SELECT * FROM products P, product_categories PC, product_options PO
WHERE P.id = PC.product_id AND P.id = PO.product_id
AND
PC.category_id = 3
AND
PO.classifier_id in (1,2)
AND
PO.option_id in (5, 9999)
Однако результаты не сокращаются там где они должны сокращаться (в случае если нет 100% совпадения по свойствам) - https://hsto.org/webt/aa/zt/e0/aazte0g4iict0uvk1rteilckyr8.png
К слову, свойства 9999 не существует, в случае если какого-то свойства нет, запись в результатах должна отсутствовать. Как это реализовать?
Всем спасибо!