Как вывести уникальный уникальный столбец в mysql?
Подскажите, где накосячил, выводит все o.id(повторы)
нужно чтобы o.id был уникальным
Если я из select убираю po.id as pid, то все выводит нормально
select
distinct `o`.`id`, `po`.`id` as `pid`, `po`.`option_id`, `po`.`required`, `od`.`name`, `po`.`value`, `o`.`type`
from `options` as `o`
left join `product_options` as `po` on `o`.`id` = `po`.`option_id`
left join `option_descriptions` as `od` on `od`.`option_id` = `o`.`id`
where `po`.`product_id` in (1, 5, 2) and `od`.`language_id` = 1
Ответы (1 шт):
Автор решения: Aslero
→ Ссылка
спасибо за помощь, я решил проблему иначе
я решил вывести все значения одним запросом, а потом в цикле перебрать и сгруппировать
select
`od`.`name`, `ovd`.`name`, `ovd`.`option_value_id`, `pov`.`option_id`, `ov`.`image`
from `products` as `p`
left join `product_option_values` as `pov` on `p`.`id` = `pov`.`product_id`
left join `option_descriptions` as `od` on `pov`.`option_id` = `od`.`option_id`
left join `option_value_descriptions` as `ovd` on `pov`.`option_value_id` = `ovd`.`option_value_id`
left join `options` as `o` on `pov`.`option_id` = `o`.`id`
left join `option_values` as `ov` on `pov`.`option_value_id` = `ov`.`option_id`
where
`p`.`id` in (1, 5, 2)
and
`ovd`.`language_id` = 1
and
`od`.`language_id` = 1
group by
`od`.`name`,
`ovd`.`name`,
`pov`.`option_value_id`,
`pov`.`option_id`,
`ov`.`image`
order by
`od`.`name` asc,
`ovd`.`name` asc