基本的に、SQLServerクエリを使用して2年間のパーセンテージの差を計算したいと思います。
何らかの理由で、年フィールドに-1を使用すると、nullが返されます。
今年の-1をしなくても、今持っているものはうまくいきますが、今年は昨年とではなく、今年と今年を比較しているので、明らかに100%を返します。
これが私の質問です:
SELECT Year,
Sum(Amount)
AS Total,
(SELECT Sum(Amount)
FROM Purchases
WHERE Purchases.Year = Budgets.Year)
AS Actual,
( ( (SELECT Sum(Amount)
FROM Purchases
WHERE Purchases.Year = Budgets.Year) / Sum(Amount) ) * 100 )
AS
BudgetPercentage,
( (SELECT Sum(Amount)
FROM Budgets
WHERE Budgets.Year = Budgets.Year) / (SELECT Sum(Amount)
FROM Budgets
WHERE Budgets.Year = (
Budgets.Year - 1
)) * 100
) AS
PerYearPercentage
FROM Budgets
WHERE ServiceStationId = 1
GROUP BY Year
問題はBudgets.Year-1にあり、望ましい結果を得るために私が何ができるか考えていますか?