使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

视频:

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

在视频中

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

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

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

  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

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

需要更多帮助?

需要更多选项?

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

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×