一連の ID を持つテーブルがあります。各 ID には、現在の年から 2025 年までの範囲の日付があります。IDごとに毎年特定の価格があります。
http://i.imgur.com/srplSDo.jpg
各 ID で特定のポイントに到達すると、特定の価格がなくなります。そこで私がやりたいのは、前年度の価格を 2.5% 引き上げることです。私はこれで前年の価格をつかむ方法を考え出しました
SELECT a.*,
(CASE
WHEN a.YEARLY_PRICING is not null
THEN a.YEARLY_PRICING
ELSE (SELECT b.YEARLY_PRICING
FROM #STEP3 b
WHERE (a.id = b.id) AND (b.YEAR = a.YEAR-1))*1.025
END) AS TEST
FROM #STEP3 a
次の結果が得られます。
しかし、私が抱えている問題は、最初のnull年の後です。以前の yearly_pricing をnullとして認識しているため、nullの結果が得られるため、明らかにこの方法は機能しません。改善のための他の提案はありますか?
ありがとう