アイテムが構築できるパレットの数を呼び出すために使用しているコードがあります。私が抱えている問題は、この数に基づいてパレットを自動的に構築する方法がわからないことです。
たとえば、3.50 パレットを作成できるアイテムがある場合、それを新しいテーブルに入れ、パレット #1 を呼び出し、次に一意の名前 (パレット #2)、次に一意の名前 (パレット #3) を呼び出す必要があります。次に固有の名前。.50 が残ります。
次に、カテゴリを調べて、.50 パレットのアイテムに適合する ITEM を見つけ、パレット全体を作成しようとします。下の表では、アイテム「1111」の残りの 0.50 がアイテム「3333」とペアになり、パレット #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