我一直无法找到在 MSAccess 中使用外连接来连接 4 个或更多表的方法。它适用于 SQL Server,但不适用于 Access。我不相信这是可能的。我有表 A、B、C、D 和 E。我需要像这样连接表:
- A 左外连接 B
- 左外连接 C
- 内连接 D
- B 内连接 E
当您在 FROM 子句中使用 LEFT/RIGHT/INNER JOINS 时,Access 不允许您在 where 子句中使用常规联接。如果这样做,我会收到非常非常模糊的错误,例如“不支持 JOIN 表达式”或“查询表达式中的语法错误(缺少运算符)”。我也许可以使用传递查询,但我还不知道该怎么做。我最多可以连接 3 个表,其外部连接如下所示:
FROM(A 在 A.b 上左连接 B = B.b)
在 A.c 上左连接 C = C.c
也不要说任何有关“outer”关键字不允许的内容,因为尽管它不在文档中,但它确实接受它。
最佳答案
在 Access 中,您一次只能连接两个结果。要连接更多表,您需要更多括号:
from
(
(
(
A inner join D on D.id = A.id
)
left join B on B.id = A.id
)
inner join E on E.id = B.id
)
left join C on C.id = A.id
关于sql - 如何在 Access 中使用内部/外部组合连接 4 个以上的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1217483/