Ms access 跨多个表查询以联接数据

Ms access 跨多个表查询以联接数据,ms-access,Ms Access,我有多个访问表,其中一个字段名为Attribute,另一个字段名为Source。我想运行一个查询,列出所有访问表中的所有属性,并列出特定属性显示的每个源。我假设这是两个独立的查询。我不知道如何编写这个特定的查询 表1 属性|源 Mem | Mem 成员地址|成员 Mem.Last | Mem Mem.First | Mem 表2 属性|源 成员|副部长 部门地址|部门 副部长最后一次|副部长 副首席|副首席 表3 属性|源 Prov | Prov 认证地址|认证 最后一次批准|批准 批准第一|批

我有多个访问表,其中一个字段名为Attribute,另一个字段名为Source。我想运行一个查询,列出所有访问表中的所有属性,并列出特定属性显示的每个源。我假设这是两个独立的查询。我不知道如何编写这个特定的查询

表1 属性|源 Mem | Mem 成员地址|成员 Mem.Last | Mem Mem.First | Mem

表2 属性|源 成员|副部长 部门地址|部门 副部长最后一次|副部长 副首席|副首席

表3 属性|源 Prov | Prov 认证地址|认证 最后一次批准|批准 批准第一|批准 Mem | Prov

预期结果 属性|源 Mem | Mem,Dep&Prov 成员地址|成员 Mem.Last | Mem Mem.First | Mem 部门地址|部门 副部长最后一次|副部长 副首席|副首席 Prov | Prov 认证地址|认证 最后一次批准|批准
Prov.First | Prov

联合查询可以在第一阶段合并表

SELECT Attribute, Source, "T1" AS Src FROM Table1
UNION SELECT Attribute, Source, "T2" FROM Table2
UNION SELECT Attribute, Source, "T3" FROM Table3
第二个查询可以使用第一个查询作为VBA函数的源,该函数将源值连接到每个属性。至少有一个这样的功能

MEM似乎是唯一具有多个源的属性。VBA函数需要进行大量的处理才能得到如此小的结果,并且在大型数据集上执行速度较慢。可以只构建一个按属性分组的报告

将源值连接到单个字符串的替代方法是使用UNION query作为源的交叉表查询:

TRANSFORM First(TableUNION.Source) AS FirstOfSource
SELECT TableUNION.Attribute
FROM TableUNION
GROUP BY TableUNION.Attribute
PIVOT DCount("*","TableUNION","Attribute='" & [Attribute] & "' AND  Source<'" & [Source] & "'")+1;

请提供样品数据和预期结果。我对示例和示例预期结果进行了更新。这非常难阅读。请使用并将结果格式化为代码。