2017-06-29 99 views
1

我想留下内连接5表。我选择4列,那么我写左内连接5表

FROM table_a 
LEFT INNER JOIN table_b 
LEFT INNER JOIN table_c 
LEFT INNER JOIN table_d 
ON table_a.a = table_b.a, 
table_b.c=table_c.c, 
table_c.b=table_d.b 

但是当我尝试在Access 2007的SQL运行它,它告诉我有在了一个错误,代码。我真的不知道我做错了什么。

感谢您给我的任何帮助。

+0

没有“左内连接”这样的事情,它是“左外连接”或“内连接” – HoneyBadger

+0

这不是如何编写连接...尝试[this](https:/ /www.w3schools.com/sql/sql_join.asp) – JohnHC

回答

3

MS Access要求的括号联接:

FROM ((table_a LEFT JOIN 
     table_b 
     ON table_a.a = table_b.a 
    ) LEFT INNER JOIN 
     table_c 
     ON table_b.c = table_c.c 
    ) LEFT JOIN 
    table_d 
    ON table_c.b = table_d.b 

如果您打算INNER JOIN然后用INNER JOIN替换LEFT JOIN

另外:

  • 没有为LEFT INNER JOIN没有这样的事情。
  • MS Access使用LEFT JOIN进行左外连接。
  • 您应该在JOIN之后立即将ON子句放在表/子查询之后。
  • 内部和外部连接都需要括号。
+2

@nola94。 。 。如果你想写'SELECT'查询,你应该学习SQL。这是我可以给你的最好建议。 –