繁体   English   中英

Access 2010:查询表达式中的语法错误(缺少运算符)

[英]Access 2010: Syntax error (missing operator) in query expression

我想在我的 sql 查询中有三个表,但我收到一条错误消息。

我有这个 sql 代码:

 SELECT warehouse.expiry_date, pharmacy.expiry_date, drugs.active_substance, 
 drugs.strength, drugs.strength_type, drugs.dosage_form, drugs.minimum_quantity, 
 SUM(warehouse.in_quant)+SUM(pharmacy.in_quant)-SUM(warehouse.out_quant)-
 SUM(pharmacy.out_quant) AS Total_available_stock

 FROM drugs as a 
  INNER JOIN warehouse as b
    ON a.ID = b.drug_id 
  INNER JOIN pharmacy as c 
    ON b.drug_id = c.drug_id
 GROUP BY warehouse.expiry_date, pharmacy.expiry_date, drugs.active_substance, 
 drugs.strength, drugs.strength_type, drugs.dosage_form, drugs.minimum_quantity;

我得到错误:

 Syntax error (missing operator) in query expression in 'a.ID = b.drug_id 
 INNER JOIN pharmacy as c
     on b.drug_id = c.drug_i'.

请问有什么帮助吗?

在 Access 中,当您有多个连接时,您需要括号:

FROM (drugs as a 
  INNER JOIN warehouse as b
    ON a.ID = b.drug_id) 
  INNER JOIN pharmacy as c 
    ON b.drug_id = c.drug_id

只是想补充一点,当您有 2 个以上的内部联接时,它会变得更加混乱。 然后您需要在每个内部连接的开头和结尾添加一个额外的括号(最后一个除外)

例子:

 FROM ((drugs as a 
  INNER JOIN warehouse as b
    ON a.ID = b.drug_id) 
  INNER JOIN pharmacy as c1 
    ON b.drug_id1 = c1.drug_id)
  INNER JOIN pharmacy as c2 
    ON b.drug_id2 = c2.drug_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM