将多行中的文本合并为一行(以逗号分隔的字符串形式)

时间:2015-06-23 01:04:23

标签: sql ms-access

我尝试完成同样的事情: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

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的。您在其他DMBS中实现此方法的方法在MS Access Jet SQL中不可用。您需要解决这个Access VBA编程问题,而不是SQL问题。是的,性能将比使用SQL解决方案更糟糕。如果你谷歌寻求VBA解决方案,那里有那些曾经尝试过的人。就个人而言,我会严肃质疑您的报告需要多大的强烈要求。如果要在SQL中生成分组报告,则可以使用更多选项卡格式列出结果,以便最终用户具有类似的效果:

1
    Alpha
    Beta
2
    Beta
    Gamma
3
    Alpha
    Delta