【问题标题】:Combine text from multiple rows into a single row (as a comma separated string)将多行中的文本合并为一行(作为逗号分隔的字符串)
【发布时间】:2015-06-23 01:04:23
【问题描述】:

我正在尝试完成此处已回答的相同事情:SQL combining data from two rows into a single row when they share a common identifier 仅在 MS Access 中。

数据如下所示:

ArticleID     CategoryName
1             Alpha
1             Beta
2             Beta
2             Gamma
3             Alpha
3             Delta

我希望结果如下所示:

ArticleID     Categories
1             Alpha, Beta
2             Beta, Gamma
3             Alpha, Delta

【问题讨论】:

标签: sql ms-access


【解决方案1】:

简短的回答是否定的。 MS Access Jet SQL 中不提供在其他 DMBS 中很好地实现这一点的方法。您需要解决这个 Access VBA 编程问题,而不是 SQL 问题。是的,性能会比使用 SQL 解决方案差得多。如果您在谷歌上搜索 VBA 解决方案,那么有些人之前已经尝试过。就个人而言,我会严重质疑您的报告需要多么强烈地要求这一要求。如果您在 SQL 中生成分组报告,您可以在更多选项卡格式下为最终用户列出结果,效果类似:

1
    Alpha
    Beta
2
    Beta
    Gamma
3
    Alpha
    Delta

【讨论】:

  • 同意。删除规范化似乎并不明智。
  • 我理解保持正常化的愿望。就我而言,我从通用 CMS 收到了几个 CSV 文件,我正在将它们导入 WordPress。我没有直接访问数据库的权限,所以我必须使用插件来获取系统中的帖子。
猜你喜欢
  • 2018-07-19
  • 2020-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
  • 1970-01-01
  • 2018-07-29
  • 2021-12-28
相关资源
最近更新 更多