我正在解決此SQL問題:集合函數SQL where問題
顯示任何採購訂單,其收取的金額和實際金額是不同的。通過顯示採購訂單號,每個採購訂單的POAmount,實際金額(通過添加訂單中所有項目的價格計算)以及兩者之間的差異來顯示。對結果進行排序以顯示那些差異最大的結果。
錯誤代碼爲-1,SQL狀態42903:無效的使用集合函數
運行下面的SQL語句時,我得到了下面的代碼。
select
purchaseorder.ponum,
purchaseorder.amount,
sum(poitems.quantity*poitems.unitprice),
purchaseorder.amount-sum(poitems.quantity*poitems.unitprice)
from purchaseorder, poitems
where
purchaseorder.ponum = poitems.ponum
and purchaseorder.amount!=sum(poitems.quantity*poitems.unitprice)
group by
purchaseorder.ponum,
purchaseorder.amount
我認爲這是因爲我在我的where子句中使用聚合函數。
我該如何解決這個問題?
感謝,
是'amount'總是大於'actual'?否則你可能需要'按ABS(差異)排序'或類似的依賴於你的SQL風格 – tobyodavies 2010-11-04 04:04:12