MS-Access查询以在另一列中收集逗号分隔的结果

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

如果我有一个名为Activities的表:

..和另一个名为Tutors的表:

如果我要在活动表中的LearnerId / InstanceId记录上为教师名称做一个简单的LEFT JOIN,我会得到如下结果:

(以上结果为sql):

SELECT Activities.LearnerId, Activities.InstanceId, 
Activities.LastName, Activities.FirstName, Activities.Activity, 
Tutors.TutorLastName, Tutors.TutorFirstName
FROM Activities 
LEFT JOIN Tutors ON (Activities.InstanceId = Tutors.InstanceId) 
AND (Activities.LearnerId = Tutors.LearnerId);

我希望维护活动表中的记录数(即查询结果为4条记录而不是7条记录)。

我还希望每个与LearnerId / InstanceId记录匹配的导师都收集在另一个名为Tutors(s)的列中,其中相关导师的名字都列在一个字段中,并用逗号分隔每个导师。换句话说,结果如下所示:

...是否可以在SQL中执行此操作,或者只能在VBA中实现?

sql ms-access access-vba
1个回答
0
投票

使用VBA函数很有可能得到你想要的东西。

Allen Browne为此操作编写了详细的代码。它被称为“连接相关记录的值”。浏览一下。 qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.