Я пытаюсь СУММАТЬ количество строк и группировать их по номеру детали и корзине, а затем выбрать корзину с максимальным количеством для начала. В приведенном ниже запросе это только выбор корзины 1-B. Мой набор результатов должен быть для Части 1-2345: Корзина 1-А, Сумма складских мест = 150, всего в этой корзине = 100
CREATE TABLE inventory (
ID int IDENTITY(1,1) PRIMARY KEY,
bin nvarchar(25),
partnumber nvarchar(25),
qty int
);
INSERT INTO inventory ( bin, partnumber, qty)
VALUES ('1-A', '1-2345', '100'), ('1-A', '1-2347', '10'), ('1-A', '1-2348',
'15'), ('1-B', '1-2345', '50'), ('1-B', '1-2347', '50'), ('1-B', '1-2348',
'55')
;With cte as
( SELECT bin, partnumber, sum(qty) qty
, ROW_NUMBER() OVER( Partition By partnumber ORDER BY bin desc) as rn
from inventory
GROUP BY bin, partnumber)
SELECT * FROM cte where rn = 1
Результирующий набор должен быть
Выход:
bin partnumber sum_of_bins max_qty_in_bin
1-A 1-2345 150 100
1-B 1-2347 60 50
1-B 1-2348 70 55