视频:创建使用多个数据源的查询
Applies To
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016试一试!
通常,为获取所需答案,应创建从多个表或从表和查询的组合收集信息的查询。
联接入门
有时必须使用来自多个源(表或查询)的数据来解答问题。 例如,你可能希望查看某区域中订购某特定产品的客户数量。
当你添加多个数据源时,Access 使用其间的现有确定关系或在其间创建联接以进行查询。 联接只是查询中数据源之间的一种关系。
注意: 联接是临时的,且仅与查询相关联。 如果你经常在表间创建相同联接,可在其间创建永久关系。
内部联接
大多数联接是内部联接。 与其相对的是外部联接,将在创建具有外部联接的查询中进行介绍。
仅当内部联接在一个源中找到与另一个源中数据匹配的记录时,它才会返回后者中的数据。 例如,如果查询有关产品和订单的信息,则你只会看到具有匹配订单的产品的数据。
自联接
自联接联接同一个表或查询的两个副本。 当联接的字段中存在匹配值时,使用自联接合并同一表中的记录。
例如,假定你的“员工”表中列出了组织内所有的员工,包括经理。 该表包括一个“直接上级”字段,用于存储员工的经理的 ID。
ID |
姓氏 |
名字 |
直接上级 |
---|---|---|---|
1 |
Freehafer |
Nancy |
5 |
2 |
Cencini |
Andrew |
|
3 |
Kotas |
Jan |
10 |
4 |
Sergienko |
Mariya |
5 |
5 |
Thorpe |
Steven |
2 |
6 |
Neipper |
Michael |
10 |
7 |
Zare |
Robert |
10 |
8 |
Guissani |
Laura |
10 |
9 |
Hellung Larsen |
Anne |
5 |
10 |
Dempsey |
Molly |
3 |
若要查找某员工经理的姓名,可在表中找到该员工,在“直接上级”字段找到经理 ID,然后在同一“员工”字段中查找该经理的 ID。 例如,Nancy 的直接上级是员工 ID 为 5 的经理,即 Steven Thorpe。
若要自动执行此任务,请将“员工”表两次添加到查询,然后创建自联接。 第二次添加该数据源时,Access 会在第二个实例的名称中附加_1。 例如,如果两次添加“员工”表,则第二个实例将名为“员工_1”。 若要显示每个员工的经理姓名,请在“员工”表中的“直接上级”字段和“员工_1”表中的“员工 ID”字段之间创建联接。
1.添加数据源
-
选择“创建”>“查询设计”。
添加所需的所有表和查询作为数据源。 (别担心。 如果忘记了,以后仍有机会添加更多数据源。)
数据源可能包含要显示其中信息的表(例如“产品”表)以及需用作条件的信息的表。
请记住,现有已保存查询也可用作数据源。 例如,如果你已创建用于查找给定月份所有订单的查询,请使用该查询以及“产品”表来显示给定月份卖出的所有产品。
2.联接相关数据源
-
若要自行添加联接,请将一个数据源中的字段拖动到另一数据源中的对应字段中。 Access 默认创建内部联接。
对于大多数关系,Access 将创建的内部联接。 并且,如果你已指定应实施引用完整性,则也将其包含在内。 但在某些情况下,Access 不会创建你所需的联接。 例如,如果你将现有查询添加到新查询而未创建关系,则 Access 不会自动创建联接。
3.完成查询
-
按照创建查询的常规步骤进行操作:添加输出字段、添加任意条件,然后运行或保存查询。 若要了解如何操作,请参阅创建基本查询。