2013-07-18 180 views
0

我的查詢旨在將一個名爲「WeightFactor」的附加字段添加到表的末尾。我的SQL代碼如下。當我嘗試運行時,我收到「缺少操作員錯誤」。在前面的問題中,我可以看到OVER()在語法上是正確的。自從我使用rowprice/totalprice以來,「WeightFactor」字段應該是100%的一小部分。當我刪除OVER子句時,錯誤消失,但結果僅顯示每行100%,而不是每行100%的正確百分比。Access 2007,OVER子句解決方法 - 缺少操作員錯誤

我被告知OVER在Access中不受支持,所以想知道這是否屬實,如果有的話是否有任何人知道的解決方法?

SELECT [2-C: Avg Prices by Customer Number Query].[Part Number], 
    [2-C: Avg Prices by Customer Number Query].[Customer Name], 
    [2-C: Avg Prices by Customer Number Query].[Customer Number], 
    [2-C: Avg Prices by Customer Number Query].SumOfQuantity, 
    [2-C: Avg Prices by Customer Number Query].TotalCost, 
    [2-C: Avg Prices by Customer Number Query].TotalPrice, 
    [2-C: Avg Prices by Customer Number Query].[Gross Margin], 
    [TotalPrice]/SUM([TotalPrice]) OVER() AS WeightFactor 
FROM [2-C: Avg Prices by Customer Number Query] 

回答

1

爲什麼不創建第二個查詢來計算所有項目的總數?

'TotalQuery 
SELECT SUM([2-C: Avg Prices by Customer Number Query].TotalPrice) AS TotalPriceOver 
FROM [2-C: Avg Prices by Customer Number Query]; 

然後你可以使用這個在您的原始查詢:

'OriginalQuery 
SELECT [2-C: Avg Prices by Customer Number Query].TotalPrice, 
[TotalPrice]/[TotalPriceOver] AS WeightFactor 
FROM [2-C: Avg Prices by Customer Number Query], TotalQuery; 
+0

這是我最後走的方向。謝謝! –

相關問題