MS访问多个左连接

时间:2018-04-19 15:04:34

标签: sql ms-access

我正在尝试做两个左连接并获得语法错误或缺少操作符错误。我有3个表(DFM,审计,会计日历)。我想将审计和会计日历表连接到DFM表(主表)

以下是我目前在Access中的编码:

FROM (([DFM report] 

LEFT JOIN [Audit report] ON [DFM report].URN = [Audit report].URN)

LEFT JOIN [Accounting Calendar] ON [DFM report].Receipt Date = [Accounting 
Calendar].Date

2 个答案:

答案 0 :(得分:0)

试试这个语法:

SELECT a.col1, b.col2, c.col3
FROM (([DFM report] AS a) LEFT JOIN [Audit report] AS b
    ON a.URN = b.URN)
LEFT JOIN [Accounting Calendar] AS c
    ON a.[Receipt Date] = c.Date

您有不平衡的括号,第一个表(和别名)需要用括号括起来。此外,您错过了SELECT子句,但我会假设您的实际查询确实有一个,并且您只是忘了复制它。如果没有,你就需要它。

答案 1 :(得分:0)

假设你有SELECT条款。

我可以看到两个错误:

  • 您有两个开放式括号,只有一个已关闭。
  • 您尚未在方括号中附上Receipt Date

SQL应该是:

SELECT *
FROM ([DFM report] LEFT JOIN [Audit report] ON [DFM report].URN = [Audit report].URN)
                   LEFT JOIN [Accounting Calendar] ON [DFM report].[Receipt Date] = [Accounting Calendar].Date  

注意:Date不是字段的好名称,因为它也是Access的保留字。