alestro
@alestro

Как заменить повторяющееся значение на null в sql выборке?

Есть две таблицы между которыми установлена связь многие ко многим при помощи соединительной таблицы.
select f.name as filter_name,pg.name as group_name from filters as f join filters_products_group as fpg on f.id = fpg.filters_id join products_group as pg on fpg.products_group_id = pg.id

Этим запросом вытаскиваю нужные мне поля, но хотелось бы, что бы поле filter_name в случае, если значение повторяется , то ему присваивалось null. Как можно подредактировать запрос?
  • Вопрос задан
  • 623 просмотра
Пригласить эксперта
Ответы на вопрос 1
Immortal_pony
@Immortal_pony Куратор тега MySQL
SELECT 
	CASE 
		WHEN (GROUP_CONCAT(f.name SEPARATOR '|||') LIKE '%|||%') THEN
			NULL
		ELSE
			f.name 
	END AS filter_name,
	pg.name AS group_name 
FROM 
	filters AS f 
	JOIN filters_products_group AS fpg ON f.id = fpg.filters_id 
	JOIN products_group AS pg ON fpg.products_group_id = pg.id
GROUP BY f.name
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы