【发布时间】:2019-07-22 11:48:36
【问题描述】:
我在 MS Access 2016 中有一张桌子。
如果两行的 ID 相同,我想将 Code & Course 列合并为单列。
所以输出应该是
我尝试过 STUFF、FOR XML PATH 等似乎与 MS Access 不兼容的功能。
非常感谢任何帮助。
【问题讨论】:
标签: sql ms-access concatenation ms-access-2016
我在 MS Access 2016 中有一张桌子。
如果两行的 ID 相同,我想将 Code & Course 列合并为单列。
所以输出应该是
我尝试过 STUFF、FOR XML PATH 等似乎与 MS Access 不兼容的功能。
非常感谢任何帮助。
【问题讨论】:
标签: sql ms-access concatenation ms-access-2016
在 MySQL 中有 GROUP_CONCAT 聚合函数,它完全符合您的要求,但在 Access SQL 中却没有。
唯一的方法是使用 VBA 代码。你可以看看这里:
http://allenbrowne.com/func-concat.html
Allen Browne 在 VBA 中编写了一个函数来获得该结果。
在 Access 中,您可以在 SQL 代码中调用 VBA 函数,因此这可能是解决方案:
SELECT ID,
ConcatRelated("Code", "tableName", "ID = " & [ID]),
ConcatRelated("Course", "tableName", "ID = " & [ID])
FROM tableName;
【讨论】: