【发布时间】:2014-08-21 00:45:46
【问题描述】:
我正在尝试对 3 个表进行完整的外部联接,并且从 here 执行两表 FOJ 的逻辑不可行
因此,我没有对 3 个查询进行 UNION(就像我对两个表做的那样),而是进行了 7 个查询来进行联合。我敢肯定这确实效率低下,但这是我第一次使用 Access。
基本上,我有一张表格,其中包含有关实际花费的美元的信息。详细说明他们的花费(数字 ID)、提供者(数字代码)以及接收者(不同的数字代码)。其他两张表有类似的规格,但一张显示了预计将花费的费用,另一张显示了最初预算要花费的费用。
我能够进行两张表的 FOJ 并获得准确的数字,但我在进行三向 FOJ 时遇到了麻烦。
在实际表中,对于特定的 ID、提供者代码和接收者代码,可能有 3 条花费的美元记录,而在预测表中,可能有 2 条记录,而在预算表中, 1. 本质上不能保证对于 Number ID、provider code、receiver code 的每一个组合在三个表中的记录数都是相同的。
为了确保记录不会相乘,我分别查询了 3 个表并执行了 Group By 函数。我提出的 7 个查询如下:
表 1: 带预测的实际内部联接和带 B 的内部联接
表 2: F 内连接带 B 和 F 左外连接带 A(其中 A 为 Null)
表 3: F 内连接 w/ A 和 F 左外连接 w/ B(其中 B 为 Null)
表 4: B 内连接 w/ A 和 B 左外连接 w/ F(其中 F 为 Null)
表 5: 带 B 的左外连接(其中 B 为 Null)和带 F 的左外连接(其中 F 为空)
表 6: B 左外连接 w/ A(其中 A 为 Null)和 B 左外连接 w/ F(其中 F 为空)
表 7: F 左外连接 w/B(其中 B 为 Null)和 F 左外连接 w/A(其中 A 为空)
有人可以告诉我如何进行 3-Table 全外部联接吗?有没有我缺少的组合? 不幸的是,我不能发布表格或给出太多规范,因为我不允许这样做。我自己也无法更改表,我基本上只有只读权限。
【问题讨论】:
标签: sql database ms-access ms-access-2007