Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法找出Access SQL语法错误_Sql_Ms Access - Fatal编程技术网

无法找出Access SQL语法错误

无法找出Access SQL语法错误,sql,ms-access,Sql,Ms Access,我试图用MicrosoftAccessSQL编写这个查询,我一生都无法找出代码中的语法错误 SELECT base.study_group, base.NPI,inv.log_date AS invite_date, rec.log_date as recieved_date, rej.log_date as reject_date FROM CODAAC_master AS base LEFT JOIN Pre_Log AS inv ON base.NPI = inv.NPI AND inv.

我试图用MicrosoftAccessSQL编写这个查询,我一生都无法找出代码中的语法错误

SELECT base.study_group, base.NPI,inv.log_date AS invite_date, rec.log_date as
recieved_date, rej.log_date as reject_date
FROM CODAAC_master AS base
LEFT JOIN Pre_Log AS inv ON base.NPI = inv.NPI AND inv.tracking_event='INVA'
LEFT JOIN Pre_Log AS rec ON base.NPI = rec.NPI AND rec.tracking_event='RECA'
LEFT JOIN Pre_Log AS rej ON base.NPI = rej.NPI AND rej.tracking_event='REJA'
WHERE base.study_year = '2013'
ORDER BY base.study_group, base.NPI;
我得到的错误是:

"Syntax error (missing operator) in query expression"

MS Access要求在多个联接周围加括号:

SELECT base.study_group, 
  base.NPI,
  inv.log_date AS invite_date, 
  rec.log_date as recieved_date, 
  rej.log_date as reject_date
FROM ((CODAAC_master AS base
LEFT JOIN Pre_Log AS inv 
  ON base.NPI = inv.NPI AND inv.tracking_event='INVA')
LEFT JOIN Pre_Log AS rec 
  ON base.NPI = rec.NPI AND rec.tracking_event='RECA')
LEFT JOIN Pre_Log AS rej 
  ON base.NPI = rej.NPI AND rej.tracking_event='REJA'
WHERE base.study_year = '2013'
ORDER BY base.study_group, base.NPI;

您需要在连接之间添加括号,因为这在MS Access中是必不可少的。(这在其他RDBMS上是可选的)


使用查询设计窗口。你缺少括号。Access需要他们加入。感谢您的帮助。我添加了括号,但现在它表示不支持联接表达式。您使用的ms access版本是什么/您的问题是关于这一点的,请尝试执行更新的语句
SELECT  base.study_group, 
        base.NPI,
        inv.log_date AS invite_date, 
        rec.log_date as recieved_date, 
        rej.log_date as reject_date
FROM  ((CODAAC_master AS base LEFT JOIN Pre_Log AS inv 
            ON base.NPI = inv.NPI AND inv.tracking_event='INVA')
        LEFT JOIN Pre_Log AS rec 
            ON base.NPI = rec.NPI AND rec.tracking_event='RECA')
        LEFT JOIN Pre_Log AS rej 
            ON base.NPI = rej.NPI AND rej.tracking_event='REJA'
WHERE base.study_year = '2013'
ORDER BY base.study_group, base.NPI;