首页 > 解决方案 > MS Access - 查询表达式中的语法错误(缺少运算符)

问题描述

SELECT * FROM exclusivity
left join patent on (exclusivity.[Appl_Type]=patent.[Appl_Type] AND exclusivity.[Appl_No]=patent.[Appl_No] AND exclusivity.[Product_No]=patent.[Product_No])
left join products on (exclusivity.[Appl_Type]=products.[Appl_Type] AND exclusivity.[Appl_No]=products.[Appl_No] AND exclusivity.[Product_No]=products.[Product_No]);

上面的查询给出了语法错误

(缺少运算符)在查询表达式 'exclusivity.[Appl_Type]=patent.[Appl_Type] AND exclusivity.[Appl_No]=patent.[Appl_No] AND exclusivity.[Product_No]=patent.[Product_No])左加入产品 on(exclusivity .[Appl_Type]=products.[Appl_Type] AND 排他性。[Appl_No]=products.[Appl_No] AND 排他性。[Product_No]=products.[Product_No]);'

可能的原因是什么?

标签: sqlms-access

解决方案


MS Access 对连接周围的括号有奇怪的要求:

SELECT *
FROM (exclusivity left join
      patent
      on exclusivity.[Appl_Type] = patent.[Appl_Type] AND
         exclusivity.[Appl_No] = patent.[Appl_No] AND
         exclusivity.[Product_No] = patent.[Product_No]
    ) left join
    products
    on exclusivity.[Appl_Type] = products.[Appl_Type] AND
       exclusivity.[Appl_No] = products.[Appl_No] AND
       exclusivity.[Product_No] = products.[Product_No];

推荐阅读