我正在尝试使用以下格式创建一个分期付款表
StartNumber = 1000
TotalYears = 3
PerMonth = StartNumber - (TotalYears*12)
Month1 Month2 Month3 Month4..
Year1 StartNumber Year1Month1-PerMonth Year1Month2-PerMonth
Year2
Year3
Year4
....
这显示的是,根据我将构建年份行的年数,然后我将从Year1Month1中的总金额开始,然后是 Year1Month2我将使用PerMonth变量扣除Previous Column数据。
我正在考虑创建临时表并处理数据以填充它
Declare @Years int
Set @Years = 3
Declare @TotalUnrecoveredDollar decimal(8,3)
Set @TotalUnrecoveredDollar = 10000.3
Declare @UnrecoveredDollarPerMonth decimal(8,3)
Set @UnrecoveredDollarPerMonth = @TotalUnrecoveredDollar - (@Years * 12)
IF OBJECT_ID('tempdb..#AmortizationTable') IS NOT NULL
BEGIN
DROP TABLE #AmortizationTable
END
CREATE TABLE #AmortizationTable
(
Month1 decimal(10,3),
Month2 decimal(10,3),
Month3 decimal(10,3),
Month4 decimal(10,3),
Month5 decimal(10,3),
Month6 decimal(10,3),
Month7 decimal(10,3),
Month8 decimal(10,3),
Month9 decimal(10,3),
Month10 decimal(10,3),
Month11 decimal(10,3),
Month12 decimal(10,3)
)
我的问题是,在表格中插入数据时,可以在使用某些数据启动第一个单元格时使用先前的单元格数据进行计算。
答案 0 :(得分:1)
如果我理解,你有一个(@startnumber变量,@ PerMonth变量)并且所有字段都依赖于它们,所以你可以做类似的事情
insert into AmortizationTable(Month1, Month2, Month3, Month4, Month5
, Month6, Month7, Month8, Month9, Month10, Month11, Month12)
select @StartNumber , @StartNumber-@PerMonth, @StartNumber-(@PerMonth*2),@StartNumber-(@PerMonth*3),@StartNumber-(@PerMonth*4),@StartNumber-(@PerMonth*5)
,@StartNumber-(@PerMonth*6),@StartNumber-(@PerMonth*7),@StartNumber-(@PerMonth*8),@StartNumber-(@PerMonth*9),@StartNumber-(@PerMonth*10),@StartNumber-(@PerMonth*11)