MS Access查询:将多行中的多个列合并为单个字段[重复]

问题描述 投票:0回答:1

我在MS access 2016中有一张桌子。

enter image description here

如果两行的ID相同,我想将Code&Course列合并为单列。

所以输出应该是

enter image description here

我尝试过像STUFF,FOR XML PATH等功能似乎与MS Access不兼容。

任何帮助是极大的赞赏。

sql ms-access concatenation ms-access-2016
1个回答
0
投票

在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;
© www.soinside.com 2019 - 2024. All rights reserved.