Ozz*_*zah 11 join ms-access query
我有两个员工名单:
List A:
StaffID Supervisor
====================
0001234 NULL
0001235 0001234
0001237 0001234
0001239 0001237
Run Code Online (Sandbox Code Playgroud)
和
List B:
StaffID Supervisor
====================
0001234 NULL
0001235 0001234
0001238 0001235
0001239 0001235
Run Code Online (Sandbox Code Playgroud)
我需要以下输出:
StaffID SupervisorA SupervisorB
===================================
0001234 NULL NULL
0001235 0001234 0001234
0001237 0001234 NULL
0001238 NULL 0001235
0001239 0001237 0001235
Run Code Online (Sandbox Code Playgroud)
请注意,列表 A 和列表 B 中的员工 ID 已合并到一个不重复的列表中,并且我已合并了两个列表之间可能不匹配的两个主管详细信息。
查询不必很好。我在每个列表中有大约 8000 条记录,我会很好地运行它。如有必要,我很乐意在之后进行一些小的 Excel 操作。
我想做一个完整的联接,但联接上的 Access 查询设计器属性窗口允许我从表 A 中选择 ALL 并从表 B 中进行匹配、从表 B 中选择 ALL 并从表 A 中进行匹配,或者仅选择在两个 A 中都匹配的那些和 B。
我确信这很简单,但我很少使用 MS Access。
到目前为止,我有两个查询没有给我想要的。我想将它们组合在完整的外部联接中,因为 Access 不会给我一个选项,但不确定如何:
SELECT ListA.*, ListB.*
FROM ListA LEFT JOIN ListB ON ListA.[StaffID] = ListB.StaffID;
Run Code Online (Sandbox Code Playgroud)
和
SELECT ListA.*, ListB.*
FROM ListB LEFT JOIN ListA ON ListB.[StaffID] = ListA.StaffID;
Run Code Online (Sandbox Code Playgroud)
Sim*_*rts 10
我上次使用 Access 是在 2003 年是热门的新事物时,所以这可能并不完全准确到每一个细节。但是,您需要做的是转到查询设计器,将视图更改为“SQL”(即原始文本条目),然后您希望将UNION
两个左连接查询放在一起,例如
SELECT ListA.*, ListB.*
FROM ListA LEFT JOIN ListB ON ListA.[StaffID] = ListB.StaffID
UNION
SELECT ListA.*, ListB.*
FROM ListB LEFT JOIN ListA ON ListB.[StaffID] = ListA.StaffID
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39237 次 |
最近记录: |