【发布时间】:2015-09-29 23:06:53
【问题描述】:
我有这张表,现在我需要对 amt 列进行除法并更新数据 int CalcAmt
month amt CalcAmt
JAN 10000 NULL
FEB 20000 NULL
MAR 30000 NULL
APR 40000 NULL
例如:(2 月/1 月)然后将输出存储在 2 月的 CalcAmt 中, (MAR/FEB) 然后将输出存储在 MAR 的 CalcAmt 中,
预期输出:
month amt CalcAmt
JAN 10000 0
FEB 20000 2
MAR 30000 1.5
APR 40000 1.33
【问题讨论】:
-
你可以通过 id+1 加入表格本身(如果你有自动增量值)。而不是在这个语句的选择中添加 sth 来划分行 t.amt / t2.amt
-
但这只是选择...
-
I tried this and its working : set @sr = (select top 1 Sr_No from #tempo order by #tempo.Sr_No desc); WHILE (@sr > 0) BEGIN if @sr > 1 begin set @Value = (select [Sales(INR)] from #tempo where Sr_No = @sr) set @value2 = (select [Sales(INR)] from #tempo where Sr_No = (@sr-1)) set @value3 = (select @Value/@value2) Update #tempo set Gropm = @Value3 where #tempo.Sr_No = @sr set @sr = @sr - 1; end else begin Update #tempo set Gropm = 0 where #tempo.Sr_No = 1 set @sr = @sr - 1; end -
很好,很高兴它成功了 ;-)
标签: sql sql-server sql-server-2008