举个例子,我在 Access 中有两个查询。第一个输出两列:
| Cust ID | Revenue 1 |
| A | 5 |
| B | 10 |
第二个查询类似:
| Cust ID | Revenue 2 |
| B | 8 |
| C | 9 |
我想创建一个查询来组合这前两个查询:
| Cust ID | Revenue 1 | Revenue 2 |
| A | 5 | 0 |
| B | 10 | 8 |
| C | 0 | 9 |
但是因为 A 不在第二个查询中,而 C 不在第一个查询中,所以我得到的结果如下:
| Cust ID | Revenue 1 | Revenue 2 |
| B | 10 | 8 |
我有一个包含所有现有客户 ID 的主表。如何编写查询,让任何未找到的值都输入 0(在本例中,A、Rev 2 和 C、Rev 1 输入 0)?
答案1
你正在寻找的是外连接。默认是执行内部联接。这个小问题很好地描述了差异:
https://stackoverflow.com/questions/38549/sql-difference-between-inner-and-outer-join/38578#38578
当然,它是用通用 SQL 来描述的 - 不确定它与 Access 有何关系。
Microsoft 有关 Access 中的外连接的页面位于此处:http://office.microsoft.com/en-us/access-help/creating-an-outer-join-query-in-access-HA001034555.aspx
它会告诉你所有你需要知道的事情。