Как сгруппировать или суммировать несколько строк, в которых значения нескольких столбцов совпадают, с помощью MSSQL2017 - PullRequest
0 голосов
/ 25 октября 2019

Я хотел бы суммировать данные в этой таблице, чтобы вычислить общее количество NumberOfPallets, которые имеют одинаковое содержимое

т.е.

15 поддонов, которые содержат следующее:

ЭлементЦветная упаковка QtyPerPallet

Item1 Red FOIL 35 Item2 Blue FOIL 110

2 Поддоны, содержащие следующее:

Item Color Packing QtyPerPallet

Item1 Red PLASTIC 35Item3 Yellow PLASTIC 50

Понятия не имею, с чего начать!

СОЗДАТЬ ТАБЛИЦУ заказов (SalesOrder INT NOT NULL, PalletNo INT NOT NULL, Item CHAR (20) NOT NULL, Color CHAR (10)) NOT NULL, CHAR упаковки (10) not Null, INT QtyPerPallet Not Null, NumberOfPallets INT not Null)

INSERT INTO Orders (SalesOrder, PalletNo, Item, Color, Packing, QtyPerPallet, NumberOfPallets) VALUES (1,22, «ITEM1», «RED», «FOIL», 35,5), (1, 22, «ITEM2», «BLUE», «FOIL», 110,5), (112, 47, «ITEM2»,«СИНИЙ», «ФОЛЬГ», 110,10), (112, 47, «ПУНКТ 1», «КРАСНЫЙ», «ФОЛЬГ», 35,10), (217,1100, «ПУНКТ 1», «КРАСНЫЙ»,«ПЛАСТИК», 35,2), (217,1100, «ПУНКТ 3», «ЖЕЛТЫЙ», «ПЛАСТИК», 50, 2)

1 Ответ

0 голосов
/ 25 октября 2019

исходя из того, что я понимаю из вашего вопроса, это помогает узнать, как вы хотите, чтобы ваш конечный результат выглядел как

, но дайте мне знать, если это работает

select 

item
,colour
,packing
,QtyPerPallet
,count(distinct palletNo) number_of_pallets


from 
orders

group by 
item
,colour
,packing
,QtyPerPallet
...