Query:
;WITH SuperSelect AS (
SELECT DISTINCT
DropshipPackinglist.CaseNumber AS 'CASE NO.',
DropshipPackinglist.Quantity AS 'QTY'
FROM DropshipPackinglist
JOIN HuaweiDescription ON DropshipPackinglist.ItemNumber = HuaweiDescription.ItemNumber
WHERE (DropshipPackinglist.BatchCode ='0003721008190AHWA01KG'))
SELECT COUNT(A) as PALLET ,
[TOTAL VOLUME (MM3)],
CASE
WHEN [TOTAL VOLUME (MM3)] = '1090x730x1460' THEN Count(A) * 1.09*0.73*1.46
WHEN [TOTAL VOLUME (MM3)] = '1090x730x1230' THEN Count(A) * 1.09*0.73*1.23
WHEN [TOTAL VOLUME (MM3)] = '1090x730x1000' THEN Count(A) * 1.09*0.73*1.00
WHEN [TOTAL VOLUME (MM3)] = '1090x730x780' THEN Count(A) * 1.09*0.73*0.78
WHEN [TOTAL VOLUME (MM3)] = '1090x730x570' THEN Count(A) * 1.09*0.73*0.57
WHEN [TOTAL VOLUME (MM3)] = '1090x730x350' THEN Count(A) * 1.09*0.73*0.35
ELSE 'Unknown'
END as 'WEIGHT'
FROM (SELECT DISTINCT
SUM([QTY]) OVER (partition BY ss.[CASE NO.]) as A,
CASE
WHEN sum([QTY]) OVER (partition BY ss.[CASE NO.]) >= 31
AND sum([QTY]) OVER (partition BY ss.[CASE NO.]) <= 36 THEN '1090x730x1460'
WHEN sum([QTY]) OVER (partition BY ss.[CASE NO.]) >= 25
AND sum([QTY]) OVER (partition BY ss.[CASE NO.]) <= 30 THEN '1090x730x1230'
WHEN sum([QTY]) OVER (partition BY ss.[CASE NO.]) >= 19
AND sum([QTY]) OVER (partition BY ss.[CASE NO.]) <= 24 THEN '1090x730x1000'
WHEN sum([QTY]) OVER (partition BY ss.[CASE NO.]) >= 13
AND sum([QTY]) OVER (partition BY ss.[CASE NO.]) <= 18 THEN '1090x730x780'
WHEN sum([QTY]) OVER (partition BY ss.[CASE NO.]) >= 7
AND sum([QTY]) OVER (partition BY ss.[CASE NO.]) <= 11 THEN '1090x730x570'
WHEN sum([QTY]) OVER (partition BY ss.[CASE NO.]) >= 1
AND sum([QTY]) OVER (partition BY ss.[CASE NO.]) <= 6 THEN '1090x730x350'
ELSE 'Unkown'
END AS 'TOTAL VOLUME (MM3)'
FROM SuperSelect ss) AS CountPallet
GROUP BY [TOTAL VOLUME (MM3)]
I have this Result:
PALLET TOTAL VOLUME (MM3) WEIGHT
--------------------------------------
2 1090x730x1230 1.957422
1 1090x730x1460 1.161722
My Problem is that I also need to add a column to compute the sum of WEIGHT.
Sample Result:
PALLET TOTAL VOLUME (MM3) WEIGHT TOTALWEIGHT
---------------------------------------------------
2 1090x730x1230 1.957422 3.119144
1 1090x730x1460 1.161722 3.119144
You can use
SUM ... OVER()As the definition of weight is quite lengthy that and your derived table could go into other CTEs.
Something like
You would need to get rid of your
elsein thecaseexpression to ensure weight was numeric.