用于自动构建托盘的SQL脚本

时间:2018-02-27 02:27:03

标签: sql teradata teradata-sql-assistant

我有一些代码,用于调出一个项目可以构建的托盘数量。我遇到的问题是我无法弄清楚如何根据这个数字自动构建托盘。

例如,如果我有一个可以构建3.50个托盘的物品,那么我希望它进入一个新的表格,然后调出托盘#1,然后是一个唯一的名称,托盘#2然后是一个唯一的名称,托盘#3然后是一个独特的名称。然后将剩下.50。

我想查看该类别并找到一个可以与.50托盘项目配合的ITEM并尝试制作整个托盘。在下表中,剩下的.50的ITEM 1111'将与ITEM! 3333'配对。然后是.350然后制作托盘#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

0 个答案:

没有答案