在尽职尽责地规范化了我的所有数据后,我在将 3NF 行组合成单行以进行输出时遇到了问题。到目前为止,我一直在使用服务器端编码进行此操作,但由于各种原因,我现在需要选择与另一行相关的所有行,并将它们组合成一行,全部在 MySQL 中......
所以试着解释一下:
我有三张桌子。
- 类别
- 文章
- 分类文章_3NF
类别包含CategoryID + 标题、描述等。它可以包含 Articles 表中的任意数量的文章,由ArticleID + 用于容纳内容的文本字段组成。CategoryArticles表用于链接两者,因此同时包含CategoryID和ArticleID。
现在,如果我选择一个类别记录,并通过链接 CategoryArticles_3NF 表加入文章表,则结果是该类别中包含的每篇文章的单独行。问题是我想为每个类别输出一行,其中包含所有文章的内容。
如果这听起来像一个荒谬的要求,那是因为它是。我只是使用文章作为描述问题的好方法。我的数据实际上有些不同。
无论如何 - 我能看到实现这一点的唯一方法是使用“ GROUP_CONCAT ”语句将内容字段组合在一起 - 问题是它可以返回多少数据是有限的,我需要它能够处理更多。
谁能告诉我该怎么做?
谢谢。