0

我有代码,我用它来调用一个项目能够构建多少个托盘。我遇到的问题是我无法弄清楚如何根据这个数字自动构建托盘。

例如,如果我有一个可以构建 3.50 个托盘的项目,那么我希望它进入一个新表,然后调用 Pallet #1,然后是一个唯一名称 Pallet #2,然后是一个唯一名称 Pallet #3然后是一个唯一的名称。然后将剩下 0.50。

然后,我想查看该类别并找到一个适合 0.50 托盘项目的 ITEM,并尝试制作一个完整的托盘。在下表中,剩余的 ITEM '1111' 的 0.50 将与 ITEM '3333'(即 0.350)配对,然后制作 Pallet #4,然后此过程将循环并根据要制作的类别查找所有其他组合最近的满托盘。

理想情况下,我希望在大于 1 的任何东西上制作第一个托盘,通过给它们一个唯一的名称,然后使用剩菜与其他剩菜(项目 <1)组合以制作其他可能已满的托盘,阈值在 1 之间和 .85:

ITEM  CUBIC_INCHES  PALLETS  CATEGORY  RANKING
1111  100,000       3.50     HIGH_TOP   1
2222  50,000        1.75     LOW_TOP    1
3333  10,000        .350     HIGH_TOP   2
4444  5,000         .175     LOW_TOP    2

我用来制作这张表的代码是:

SELECT
ITEM
,CUBIC_INCHES
,CAST(CASE WHEN CUBIC_INCHES=0 THEN 0 
ELSE (CUBIC_INCHES)/28,571.42 END AS DEC(38,4)) AS PALLETS 
,CATEGORY
,RANK() OVER (PARTITION BY CATEGORY ORDER BY CUBIC_INCHES) AS RANKING
FROM TABLE_1
4

0 回答 0