Я отчаянно пытался заставить это работать, и я застрял. Любая помощь приветствуется! У меня есть две таблицы. Таблица 1 - клиенты, а таблица 2 - местоположение и количество инвентаря. Проблема в том, что мне нужно, чтобы количество ячеек, которое рекомендуется ограничить, количеством, поэтому, как только оно порекомендует все количество, оно перестает рекомендовать этот ящик ... Это то, что ставит меня в тупик.
Table 1
Customer | Item | Qty
1 | Item1 | 2
1 | Item2 | 1
2 | Item1 | 1
3 | Item1 | 1
4 | Item1 | 1
5 | Item1 | 1
6 | Item1 | 1
Table 2
Item | Bin | Qty
Item1 | A1 | 1
Item1 | A84 | 2
Item1 | C32 | 2
Item1 | D01 | 1
Вывод перестал бы рекомендовать первое совпадение, как только количество совпадений достигнет числа кол-во ... Я полностью застрял ...
Вывод будет выглядеть Клиент | Пункт | мусорное ведро 1 | Item1 | A1 1 | Item2 | A84 2 | Item1 | A84 3 | Item1 | C32 4 | Item1 | C32 5 | Item1 | D01 6 | Item1 | (так как другого бункера не осталось) Сценарий до сих пор с помощью Ponder является ...
SELECT
CUST.CUSTOMER, CUST.ITEM, BIN
FROM (
SELECT
ROW_NUMBER() OVER (PARTITION BY CUSTOMER, ITEM ORDER BY CUSTOMER ASC, ITEM ASC) AS RN,
CUSTOMER,
ITEM
FROM CUSTOMERS
) CUST
LEFT JOIN (
SELECT
ITEM,
BIN,
LAG(Q2, 1, 0) OVER (PARTITION BY ITEM, BIN ORDER BY ITEM ASC, BIN ASC) Q1,
Q2
FROM (
SELECT
ITEM,
BIN,
SUM(QTY) OVER (PARTITION BY ITEM, BIN ORDER BY ITEM ASC, BIN ASC) Q2
FROM INVENTORY I
)
) INV ON Q1 < RN AND Q2 <= RN AND CUST.ITEM = INV.ITEM