当使用多个“ON”条件时,我在Access SQL中遇到了连接错误。我无法在2个不同的表上执行ON子句,例如:
select *
from
(((A
left join B on a.id = b.id)
left join c on c.id = b.id)
left join D
on (d.id = b.id) and (d.id = a.id)
最后的连接语句导致错误,因为我首先在表B上链接表D,然后在表A上链接表D.如果我选择再次在表B上链接表D,则它会解析。但是,我需要以这种方式加入它,因为我需要从两个表中链接表D所需的某些数据。
如何更有效地构建查询以实现我的结果?
答案 0 :(得分:0)
你可以试试这个选择*来自a左侧连接B a.id = b.id左侧连接c位于c.id = b.id左侧连接D位于d.id = b.id和d.id = a .ID
答案 1 :(得分:0)
要说明你要做的事情有点难以理解,但最有可能的是,这就是你想要的:
select *
from
(((A
left join B on a.id = b.id)
left join C on c.id = b.id)
left join D on d.id = a.id)
由于您正在尝试LEFT JOIN,因此没有理由将多个ID链接到彼此。