SQL中的比例数

时间:2013-02-07 04:25:53

标签: sql sql-server-2005

我们正在编写一个库存系统,我们需要说明预期数量和计数数量之间是否存在差异,然后我们需要使用整数将差异按比例分配到记录中。例如:

Exepected:

Item    |  Quantity  |  Shelf
Banana  |  2         |  1
Banana  |  1         |  2
Banana  |  2         |  3

计算:共9个。我们需要将3个记录(在整个香蕉中)的比例分配给3个记录,给出:

Item    |  Quantity  |  Shelf
Banana  |  4         |  1
Banana  |  2         |  2
Banana  |  3         |  3

最终数量应与原始数量大致相同,并且总是在整个香蕉中。没有负香蕉可以存在,但记录最终可以为0。

以上只是一个例子。如果存在不同的数量,结果应该是相似的。

我们尝试过:

Ceiling(CountedQty * Expected/OriginalTotal) WHERE ROWNUMBER = 1
FLOOR(CountedQty * Expected/OriginalTotal) WHERE ROWNUMBER > 1

但是当CountedQty - OriginalTotal>这不起作用时2。

以前这已经在C#中使用循环完成,并保留了由于业务需求而我们试图避免的运行总计。

0 个答案:

没有答案