2017-04-15 64 views
0

我得到「您的查詢不包含指定表達式」SalesTransactions.Qty「作爲聚合函數的一部分。」用下面的代碼:MS-Access - 不包括*作爲聚合函數的一部分...但是它是

SELECT SalesTransactions.[Stock#], Sum(SalesTransactions.Qty) AS SumOfQty, 
Sum(SalesTransactions.Retail) AS SumOfRetail, 
Max(SalesTransactions.TransDate) AS MaxOfTransDate, 
Max(InvReport.Description) AS MaxOfDescription, Max(InvReport.QOH) AS MaxOfQOH, 
Max(InvReport.[Vnd1#]) AS [MaxOfVnd1#], Max(InvReport.LastCost) AS MaxOfLastCost 
FROM InvReport INNER JOIN SalesTransactions ON InvReport.[Stock#] = SalesTransactions.[Stock#] 
GROUP BY SalesTransactions.[Stock#] 
ORDER BY SalesTransactions.Qty DESC; 

但它似乎是一個聚合函數的一部分 - 我錯過了什麼?

回答

0

問題是在這裏:

order by SalesTransactions.Qty desc; 

您不能直接在ORDER BY聚合後使用SalesTransactions.Qty,因爲它不是group by子句中:

也許這就是你想要什麼:

select SalesTransactions.[Stock#], 
    Sum(SalesTransactions.Qty) as SumOfQty, 
    Sum(SalesTransactions.Retail) as SumOfRetail, 
    Max(SalesTransactions.TransDate) as MaxOfTransDate, 
    Max(InvReport.Description) as MaxOfDescription, 
    Max(InvReport.QOH) as MaxOfQOH, 
    Max(InvReport.[Vnd1#]) as [MaxOfVnd1#], 
    Max(InvReport.LastCost) as MaxOfLastCost 
from InvReport 
inner join SalesTransactions on InvReport.[Stock#] = SalesTransactions.[Stock#] 
group by SalesTransactions.[Stock#] 
order by SumOfQty desc; 
+0

完美,作品謝謝! –

相關問題