我有一系列ID的表格。每个ID的日期从今年起到2025年不等。每个ID每年都有一个特定的价格。前一场增长2.5%?
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
这将提供以下结果:
但我遇到的问题是第一个空一年后,它是仍然认识到之前的annual_pricing为空,这给了我空结果,所以显然这种方法不适合我。任何其他改进建议?
感谢
这是一个时间查询或东西,将不断地运行?换句话说,你只是试图按摩数据一次?如果一次,只需使用光标。 – NotMe
该查询包含一系列查询,其中根数据在整年中始终保持不变。我对游标不太熟悉,所以我会看看这是否可行。 – Hallel86