Я попробовал теперь почти все, что мог, чтобы решить проблему. До сих пор без успеха. Но должно быть решение, потому что я не думаю, что это слишком сложно. Я думаю, что я просто кровавый начинающий;-) Мне нужно присоединиться к объединению или любому другому;-) в MySQL решить следующую проблему...
CASE: три таблицы "сообщения", "tagmap" и "tags"
Таблица tagmap сохраняет все отношения n-m id сообщений и идентификатор тегов
Таблица тегов хранит тег tag_name с тегом
Таблица posts хранит post_title и post_id
posts post_id post_title
1 Charlie Chaplin Painting
tagmap id post_id tag_id
100 1 12
101 1 13
102 1 14
tags tag_id tag_name
12 Acryl
13 Chalk
14 Poster
То, что я пытаюсь достичь, - это получить результат как результат, когда все связанные теги объединяются в один столбец. Либо через список или пробелы, разделенные запятыми:
post_id = > 1, post_title= > Charlie Chaplin... tag_name = > Acryl, Chalk, Poster
Но до сих пор единственное, что я мог получить, это mukltiple результаты, подобные этому:
post_id = > 1, post_title= > Charlie Chaplin... tag_name = > Acryl
post_id = > 1, post_title= > Charlie Chaplin... tag_name = > Chalk
post_id = > 1, post_title= > Charlie Chaplin... tag_name = > Poster
Кто-нибудь знает, как это может быть достигнуто... Любая помощь была бы высоко оценена и заблаговременно для всех, кто мог бы помочь мне в этом, -)
Использование:
SELECT p.post_id,
p.post_title,
GROUP_CONCAT(t.tag_name ORDER BY t.tag_name SEPARATOR ', ')
FROM POSTS p
JOIN TAGMAP tm ON tm.post_id = p.post_id
JOIN TAGS t ON t.tag_id = tm.tag_id
GROUP BY p.post_id, p.post_title
Ссылка: