Прилежно нормализовав все мои данные, у меня возникла проблема с объединением строк 3NF в одну строку для вывода. До сих пор я делал это с кодированием на стороне сервера, но по разным причинам мне теперь нужно выбрать все строки, связанные с другой строкой, и объединить их в одну строку, все в MySQL...
Итак, чтобы попытаться объяснить:
У меня три стола.
- Категории
- Статьи
- КатегорияСтатьи_3NF
Категория содержит CategoryID + заголовки, описания и т. д. Она может содержать любое количество статей в таблице Articles, состоящей из ArticleID + текстовое поле для размещения содержимого. Таблица CategoryArticles используется для связи между ними, поэтому содержит как CategoryID, так и ArticleID.
Теперь, если я выберу запись категории и присоединюсь к таблице статей через связывающую таблицу CategoryArticles_3NF, результатом будет отдельная строка для каждой статьи, содержащейся в этой категории. Проблема в том, что я хочу вывести одну строку для каждой категории, содержащую содержимое из всех статей внутри.
Если это звучит как нелепая просьба, это потому, что так оно и есть. Я просто использую статьи как хороший способ описать проблему. Мои данные на самом деле несколько другие.
В любом случае - единственный способ, которым я вижу это, - это использовать оператор 'GROUP_CONCAT' для группировки полей содержимого вместе. Проблема в том, что существует ограничение на количество данных, которые это может вернуть. , и мне нужно, чтобы он мог обрабатывать значительно больше.
Кто-нибудь может сказать мне, как это сделать?
Спасибо.