青月令改版:求一SQL语句(有点难,高手请进)

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/10 13:48:30
比如,一个数值5000,如果给出的一个条件值是5,剩余值是100,

求将值分为(5+1)条记录打印出来,每一个值按平均的这样减下来,最后一条记录的值是减下来的结果100.

那么如何才能打印出以下的格式?

自动编号 值(此例按980递减)
----------------------------
1 5000
2 4020
3 3040
4 2060
5 1080
6 100(这是结果)

据我分析,一条语句不能实现,只能写段脚本来实现了,如下:
@i 和 @seed都声明为float类型,主要是为了适应,比如条件为6的情况。

declare @i float
declare @seed float
set @i=5
set @seed=(5000-100) / (@i*1.)
declare @j int
set @j=0
while @j<=@i
begin
print cast(@j+1 as varchar(10)) +char(9)+cast((5000-@j*@seed) as varchar(10))
set @j=@j+1
end