zin*_*non 11 sql ms-access-2010
我希望在我的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;
Run Code Online (Sandbox Code Playgroud)
我得到错误:
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'.
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
Guf*_*ffa 43
在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
Run Code Online (Sandbox Code Playgroud)
只是想补充一点,当您有 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28786 次 |
| 最近记录: |