将一段循环赋值给数组的代码(c#)转换成MSSQL2000中的语言

来源:百度知道 编辑:UC知道 时间:2024/06/12 15:57:39
代码如下:
(其中docNum(int),avg(float),err(float),N(int)为已给出变量)
for (int i = 0; i < N; i++)
{
if (i < docNum)
reachtime[i] = 0;
else if (i < docNum * 2)
{
reachtime[i] = (avg - err) + ((err * 2) / (docNum - 1)) * (i - docNum);
}
else
{
reachtime[i] = reachtime[(i % docNum) + docNum] * (i / docNum);
}
}
-----------------------------------------
介绍一下代码:
我把一些数据做成table:
reachtime(listid(int),reachtime(varchar))
我要做的就是生成这个表里面的数据
还有一个table,
tablelist(listid,sbranchid)
上面的c#代码就是
取出sbranchid相同项的前docNum个插入reachtime表并计算reachtime列的值
如:
-----------------------------
3 1
4 2
5 1
6 1
7 2
8 1
9 1
10 1
--------------
假如docNum=3,即取出1,3,4行赋值为0,下一次的8,9,10又赋值。。。。
再下一次的3个又赋值。。。。

目前做到 else if (i < docNum * 2)这步,但是我对sql不熟悉,写到这里差不多是我的极限了,在此请求大家帮忙,大家可以只写我未写部分,也可做个新的,我对自己第一次做的

我想不出来了。

(其中docNum(int),avg(float),err(float),N(int)为已给出变量)
for (int i = 0; i < N; i++)
{
if (i < docNum)
reachtime[i] = 0;
else if (i < docNum * 2)
{
reachtime[i] = (avg - err) + ((err * 2) / (docNum - 1)) * (i - docNum);
}
else
{
reachtime[i] = reachtime[(i % docNum) + docNum] * (i / docNum);
}
}
-----------------------------------------
介绍一下代码:
我把一些数据做成table:
reachtime(listid(int),reachtime(varchar))
我要做的就是生成这个表里面的数据
还有一个table,
tablelist(listid,sbranchid)
上面的c#代码就是
取出sbranchid相同项的前docNum个插入reachtime表并计算reachtime列的值
如:
-----------------------------
3 1
4 2
5 1
6 1
7 2
8 1
9 1
10 1
--------------
假如docNum=3,即取出1,3,4行赋值为0,下一次的8,9,10又赋值。。。。
再下一次的3个又赋值。。。。

目前做到 else if (i < docNum * 2)这步,但是我对sql不熟悉,写到这里差不多是我的极限了,在此请求大家帮忙,大家可以只写我未写部分,也可做个新的,我对自己第一次做的东