Здравствуйте.
Имеются две таблицы - свойства, и их значения.
Структура соответственно следующая:
products_optionsproduct_option_values
Суть проблемы такова - при выборке свойств по подходящим товарам группировка происходит неверно. Часть значений попросту исчезает.
Пример запроса:
select * from `product_options`
inner join `product_option_values` on `product_options`.`id` = `product_option_values`.`option_id`
where `product_option_values`.`product_id` in (1,2,3)
group by `product_option_values`.`value`
Как мы видим - в ответ выдаются значения, value которых не более 150.
Но если мы уберем group by...
То увидим значения с value и 200, и даже 300.
Как поступить? Я уже был на тостере с этим вопросом, но увы, мне не смогли помочь. Я уже устал вручную пересобирать таблицу (копируя данные во временную, пересоздавая, и возвращая данные обратно).
Тип таблиц - InnoDB