首页 > 解决方案 > Microsoft Access:相关表和自/外部联接

问题描述

我正在使用 Microsoft 访问权限,并被告知要进行自我加入。因此,在自联接中,我使用了一个表和该表的副本来形成关系。表 1 具有主键,表 2(表 1 的副本)具有外键。

问题1:这是否意味着Table1是主表而Table2是相关表?

然后我被告知“在相关表上使用外连接”所以我点击“连接属性”,我得到了 2 个外连接选项。

  1. 包括表 1 中的所有记录,仅包括表 2 中连接字段相等的记录
  2. 包括表 2 中的所有记录,仅包括表 1 中连接字段相等的记录

问题 2:如果我的猜测是正确的并且 Table2 是相关表,它会是第一个选项吗?

标签: ms-access

解决方案


首先不要复制 Table1。这样做,你有两个完全不同的表,因此你不能加入到自己。转到查询生成器并将 Table1 添加到网格两次,这样您就有了 Table1 和 Table1_1。所以现在你有两次同一张桌子。

接下来通过主键将 Table1 连接到 Table1_1。

至于左外连接还是右外连接,这取决于。如果将 PK 从 Table1 拖动到 Table1_1 的 PK 则 Table1 是左表(左连接)。这意味着您将从 Table1 中获取所有记录,并且仅从 Table1_1 中获取与 Table1 中的那些记录匹配的那些记录。


推荐阅读