应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

视频:

你的浏览器不支持视频。 请安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

在视频中

当 Access 确定查询可以根据先完成的联接提供不同的结果时,将显示“不明确的外部联接”消息。 若要使查询运行,需要进行一些更改。 最佳解决方案通常是将查询拆分为多个部分。 也就是说,对其进行设置,以便至少一个联接在较小的“子”查询中完成,然后你将其联接到“父”查询中的其他表或查询。 然后,Access 先在子查询 (或查询) 执行联接,最后在父查询中执行联接,从而消除歧义。

根据查询中有多少个表,可能需要创建多个子查询以避免不明确的外部联接。 此视频演示了一个简单的三个表示例,其中两个等价联接的表被分隔为一个子查询,然后在父查询中完成与第三个表的外部联接。 下面是基本步骤,假设你已经非常熟悉 创建简单的选择查询

  1. Create包含要在视频中首先联接 (表的新子查询,这些表是公司和人员表) 。

  2. 在子查询中,双击所需的输出字段,使其显示在查询网格中。

重要:  请务必包含原始查询中的联接字段。 在视频示例中,公司已使用 RegionID 字段联接到区域,因此我们在子查询的查询网格中包含 RegionID。

  1. 保存并关闭子查询,并在“设计”视图中打开原始查询。 这将成为父查询。

  2. 删除添加到子查询的表,然后添加子查询 (设计 > 添加表 (显示 Access 2013 ) > 查询中的,或仅将子查询从导航窗格拖动到父查询) 。

  3. 在父查询中,像以前一样建立联接,仅这次与子查询建立联接。

  4. 将子查询中的输出字段添加到查询网格。

  5. 保存并运行父查询。

不明确外部联接的经验法则

如果查询中有两个或更多个联接,其中一个联接是指向等联接的外部联接,或者有两个外部联接相互指向,例如,这两个联接配置不明确,需要拆分为单独的查询:

Table1 --> Table2 --- Table3

Table1 --> Table2 <-- Table3

指向同一方向或远离其他外部联接或等值联接的外部联接是可以的:

Table1 --> Table2 --> Table3

Table1 <-- Table2 --> Table3

Table1 <-- Table2 --- Table3

有关生成查询的详细信息,请参阅查询简介Create简单的选择查询

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。