Делаю подгружающиеся селекты - выбрал одно свойство (например, размер), в следующем селекте (например, жесткость) подгружаются возможные варианты. То есть, что бы не было свойства, товаров с которым нет.
Сделал это дело с JOIN'ом таблицы на саму себя. Выглядит так:
SELECT a.value as a_value, b.value as b_value, COUNT(a.product_id) as `count` FROM products_properties AS a
INNER JOIN products_properties AS b
ON a.product_id = b.product_id
WHERE a.value != '-' AND a.property_id = 1 AND b.value LIKE '%"1":{"check":"1"%'
GROUP BY a.value
Но случается такая херня, что даже с учетом a.value != '-' всё равно подбирается запись с этим говном (см. скриншот).
Почему такое случается и как от этого избравить? Кроме костыля а-ля перебрать результат и удалить строки с этой херней.
Да и как вообще подобное делается? Может я с самого начала через жопу всё сделал.