请求 SubQuery MS Access SQL 代码帮助

问题描述 投票:0回答:1

我收到此语法错误

查询表达式“Purchases.SUOM_Orders IN (SELECT COUNT(Purchases.SUOM_Orders) FROM Purchases WHERE Purchases.Order_Date>=DATE()-120) subQryCount”中

(缺少运算符)

可能还有其他编译器尚未处理的错误,但如果您发现任何错误,请更正。我感谢您的帮助。忽略“您的文字”部分。我试图将我的代码发布在论坛上,这就是这些部分的原因。

SELECT Inventory.Item_No, Inventory.NDC, Pharmacy.NDC_Desc, ROUND(Inventory.OH_Qty_EA / Pharmacy.McK_PackQty, 0) AS ‘McKesson_OH_Qty’, SUM(Purchases.SUOM_Orders / subQryCount.SUOM_Orders) * Pharmacy.Safecor_PackQty * 1.5 / Pharmacy.McK_PackQty AS 'Avg_Par', SUM(Purchases.SUOM_Orders / subQryCount.SUOM_Orders) * Pharmacy.Safecor_PackQty * 1.5 - SUM(Inventory.OH_Qty_EA) / Pharmacy.McK_PackQty AS 'Avg_OrdQty' FROM (Inventory LEFT JOIN Pharmacy ON Inventory.Item_No = Pharmacy.Item_No) LEFT JOIN Purchases ON Pharmacy.Item_No = Purchases.Item_No WHERE Purchases.SUOM_Orders IN (SELECT COUNT(Purchases.SUOM_Orders) FROM Purchases WHERE Purchases.Order_Date >= DATE() - 120) subQryCount GROUP BY Purchases.Item_No ASC HAVING Avg_OrdQty > 0;
    
sql ms-access ms-access-2007
1个回答
0
投票
您的

subQryCount

 条款中不能包含 
WHERE

查询要返回的字段名称需要与

SELECT

 查询一起出现。

因此要修复该错误,您需要删除

subQryCount

。这是您更新的 SQL:

SELECT Inventory.Item_No, Inventory.NDC, Pharmacy.NDC_Desc, ROUND(Inventory.OH_Qty_EA / Pharmacy.McK_PackQty, 0) AS ‘McKesson_OH_Qty’, SUM(Purchases.SUOM_Orders / subQryCount.SUOM_Orders) * Pharmacy.Safecor_PackQty * 1.5 / Pharmacy.McK_PackQty AS 'Avg_Par', SUM(Purchases.SUOM_Orders / subQryCount.SUOM_Orders) * Pharmacy.Safecor_PackQty * 1.5 - SUM(Inventory.OH_Qty_EA) / Pharmacy.McK_PackQty AS 'Avg_OrdQty' FROM Inventory LEFT JOIN Pharmacy ON Inventory.Item_No = Pharmacy.Item_No LEFT JOIN Purchases ON Pharmacy.Item_No = Purchases.Item_No WHERE Purchases.SUOM_Orders IN (SELECT COUNT(Purchases.SUOM_Orders) FROM Purchases WHERE Purchases.Order_Date >= DATE() - 120) GROUP BY Purchases.Item_No ASC HAVING Avg_OrdQty > 0;
    
© www.soinside.com 2019 - 2024. All rights reserved.