1

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

预期:

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

数:共9个。我们需要在 3 条记录中按比例分配 9 个(整根香蕉),给出:

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# 中使用循环完成的,并保持运行总数,由于业务需求,我们试图避免这种情况。

4

0 回答 0