Привет иметь следующую схему базы данных:MySQL - Невозможно использовать GROUP_CONCAT и фильтр результатов
items
- id
- item_name
items_cats
- item_id
- cat_id
categories
- id
- cat_name
С этого момента, я могу выбрать элементы и категории в одном запросе так:
SELECT i.id, i.item_name, GROUP_CONCAT(c.cat_name) as cats
FROM items AS i, items_cats AS ic, categories AS c
WHERE ic.item_id = i.id AND ic.cat_id = c.id
GROUP BY i.id
Этот результат что-то вроде этого:
id| item_name | cats
1 | Item 1 | Cat 1, Cat 2
2 | Item 2 | Cat 1
3 | Item 3 | Cat 3, Cat 5
4 | Item 4 | Cat 2, Cat 3, Cat 4
Теперь мне нужно один и тот же результат, но я хочу только записи, содержащие «C в 3". Если добавить «c.id = 3» в выражении WHERE, результаты в этом:
id| item_name | cats
3 | Item 3 | Cat 3
4 | Item 4 | Cat 3
Но я хочу, чтобы другие категории из пункта, например:
id| item_name | cats
3 | Item 3 | Cat 3, Cat 5
4 | Item 4 | Cat 2, Cat 3, Cat 4
Как я могу это сделать ?