Есть две таблицы product и option. У каждого продукта есть хотя-бы одна опция. У каждой опции разная цена. Как получить сводную результат ( параметры продукта и параметры опции с минимальной ценой ) Подскажите с запросом.....
Тестируем по этой ссылке. Сам запрос: Код (PHP): SELECT `pr`.`id`, `pr`.`param_2`, `pr`.`param_3`, `pr`.`param_4`, `pr`.`param_5`, MIN(`op`.`price`) AS `min_price`, `op`.`param_8`, `op`.`param_9` FROM `product` `pr` INNER JOIN `option` `op` ON (`pr`.`id` = `op`.`product_id`) GROUP BY `pr`.`id`
не работает, вернее результат не соответствует нужному. `op`.`param_8`, `op`.`param_9` - не в тему получаются. Задача мутная, гугл ничего не выдает в тему. Пробую раздробить задачу, но облом полный...((((((
Проверяйте. На первый взгляд всё должно работать правильно, но т.к. ваша реальная структура может отличаться, то... Код (PHP): SELECT `op`.`product_id`, `pr`.`param_2`, `pr`.`param_3`, `pr`.`param_4`, `pr`.`param_5`, `op`.`param_8`, `op`.`param_9`, `op`.`price` FROM `option` `op` INNER JOIN ( SELECT `product_id`, MIN(`price`) AS `min_price` FROM `option` GROUP BY `product_id` ) AS `t1` ON `op`.`product_id` = `t1`.`product_id` AND `op`.`price` = `t1`.`min_price` INNER JOIN `product` `pr` ON `pr`.`id` = `t1`.`product_id`