By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
8 rows affected
OrderStatus | CustomerID | OrderNbr | TotalQty | Prod01 | Quantity01 | Prod02 | Quantity02 | Prod03 | Quantity03 | Prod04 | Quantity04 | Prod05 | Quantity05 | Prod06 | Quantity06 | Prod07 | Quantity07 | Prod08 | Quantity08 | Ratio01 | Ratio02 | Ratio03 | Ratio04 | Ratio05 | Ratio06 | Ratio07 | Ratio08 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pending | 1 | 1 | 360 | Product A | 10 | Product B | 20 | Product C | 30 | Product D | 40 | Product E | 50 | Product F | 60 | Product G | 70 | Product H | 80 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
(No column name) |
---|
max(CASE WHEN o.LoadNbr = 1 THEN o.Product ELSE '' END) AS Product1, max(CASE WHEN o.LoadNbr = 1 THEN o.Quantity ELSE 0 END) AS Quantity1, max(CASE WHEN o.LoadNbr = 1 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio1, max(CASE WHEN o.LoadNbr = 2 THEN o.Product ELSE '' END) AS Product2, max(CASE WHEN o.LoadNbr = 2 THEN o.Quantity ELSE 0 END) AS Quantity2, max(CASE WHEN o.LoadNbr = 2 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio2, max(CASE WHEN o.LoadNbr = 3 THEN o.Product ELSE '' END) AS Product3, max(CASE WHEN o.LoadNbr = 3 THEN o.Quantity ELSE 0 END) AS Quantity3, max(CASE WHEN o.LoadNbr = 3 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio3, max(CASE WHEN o.LoadNbr = 4 THEN o.Product ELSE '' END) AS Product4, max(CASE WHEN o.LoadNbr = 4 THEN o.Quantity ELSE 0 END) AS Quantity4, max(CASE WHEN o.LoadNbr = 4 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio4, max(CASE WHEN o.LoadNbr = 5 THEN o.Product ELSE '' END) AS Product5, max(CASE WHEN o.LoadNbr = 5 THEN o.Quantity ELSE 0 END) AS Quantity5, max(CASE WHEN o.LoadNbr = 5 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio5, max(CASE WHEN o.LoadNbr = 6 THEN o.Product ELSE '' END) AS Product6, max(CASE WHEN o.LoadNbr = 6 THEN o.Quantity ELSE 0 END) AS Quantity6, max(CASE WHEN o.LoadNbr = 6 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio6, max(CASE WHEN o.LoadNbr = 7 THEN o.Product ELSE '' END) AS Product7, max(CASE WHEN o.LoadNbr = 7 THEN o.Quantity ELSE 0 END) AS Quantity7, max(CASE WHEN o.LoadNbr = 7 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio7, max(CASE WHEN o.LoadNbr = 8 THEN o.Product ELSE '' END) AS Product8, max(CASE WHEN o.LoadNbr = 8 THEN o.Quantity ELSE 0 END) AS Quantity8, max(CASE WHEN o.LoadNbr = 8 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio8 |
(No column name) |
---|
SELECT OrderStatus , CustomerID , OrderNbr , ca.TotalQty , max(CASE WHEN o.LoadNbr = 1 THEN o.Product ELSE '' END) AS Product1, max(CASE WHEN o.LoadNbr = 1 THEN o.Quantity ELSE 0 END) AS Quantity1, max(CASE WHEN o.LoadNbr = 1 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio1, max(CASE WHEN o.LoadNbr = 2 THEN o.Product ELSE '' END) AS Product2, max(CASE WHEN o.LoadNbr = 2 THEN o.Quantity ELSE 0 END) AS Quantity2, max(CASE WHEN o.LoadNbr = 2 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio2, max(CASE WHEN o.LoadNbr = 3 THEN o.Product ELSE '' END) AS Product3, max(CASE WHEN o.LoadNbr = 3 THEN o.Quantity ELSE 0 END) AS Quantity3, max(CASE WHEN o.LoadNbr = 3 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio3, max(CASE WHEN o.LoadNbr = 4 THEN o.Product ELSE '' END) AS Product4, max(CASE WHEN o.LoadNbr = 4 THEN o.Quantity ELSE 0 END) AS Quantity4, max(CASE WHEN o.LoadNbr = 4 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio4, max(CASE WHEN o.LoadNbr = 5 THEN o.Product ELSE '' END) AS Product5, max(CASE WHEN o.LoadNbr = 5 THEN o.Quantity ELSE 0 END) AS Quantity5, max(CASE WHEN o.LoadNbr = 5 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio5, max(CASE WHEN o.LoadNbr = 6 THEN o.Product ELSE '' END) AS Product6, max(CASE WHEN o.LoadNbr = 6 THEN o.Quantity ELSE 0 END) AS Quantity6, max(CASE WHEN o.LoadNbr = 6 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio6, max(CASE WHEN o.LoadNbr = 7 THEN o.Product ELSE '' END) AS Product7, max(CASE WHEN o.LoadNbr = 7 THEN o.Quantity ELSE 0 END) AS Quantity7, max(CASE WHEN o.LoadNbr = 7 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio7, max(CASE WHEN o.LoadNbr = 8 THEN o.Product ELSE '' END) AS Product8, max(CASE WHEN o.LoadNbr = 8 THEN o.Quantity ELSE 0 END) AS Quantity8, max(CASE WHEN o.LoadNbr = 8 THEN round(o.Quantity *100.0 / ca.TotalQty,2) ELSE 0 END) AS Ratio8 FROM Orders AS O CROSS APPLY ( SELECT SUM(q.Quantity) AS TotalQty FROM Orders AS q WHERE q.OrderNbr = o.OrderNbr ) AS ca GROUP BY OrderStatus , CustomerID , OrderNbr , ca.TotalQty |
OrderStatus | CustomerID | OrderNbr | TotalQty | Product1 | Quantity1 | Ratio1 | Product2 | Quantity2 | Ratio2 | Product3 | Quantity3 | Ratio3 | Product4 | Quantity4 | Ratio4 | Product5 | Quantity5 | Ratio5 | Product6 | Quantity6 | Ratio6 | Product7 | Quantity7 | Ratio7 | Product8 | Quantity8 | Ratio8 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pending | 1 | 1 | 360 | Product A | 10 | 2.780000000000 | Product B | 20 | 5.560000000000 | Product C | 30 | 8.330000000000 | Product D | 40 | 11.110000000000 | Product E | 50 | 13.890000000000 | Product F | 60 | 16.670000000000 | Product G | 70 | 19.440000000000 | Product H | 80 | 22.220000000000 |
OrderStatus | CustomerID | OrderNbr | Product | LoadNbr1 | LoadNbr2 | LoadNbr3 | LoadNbr4 | LoadNbr5 | LoadNbr6 | LoadNbr7 | LoadNbr8 |
---|---|---|---|---|---|---|---|---|---|---|---|
Pending | 1 | 1 | Product A | 10 | null | null | null | null | null | null | null |
Pending | 1 | 1 | Product B | null | 20 | null | null | null | null | null | null |
Pending | 1 | 1 | Product C | null | null | 30 | null | null | null | null | null |
Pending | 1 | 1 | Product D | null | null | null | 40 | null | null | null | null |
Pending | 1 | 1 | Product E | null | null | null | null | 50 | null | null | null |
Pending | 1 | 1 | Product F | null | null | null | null | null | 60 | null | null |
Pending | 1 | 1 | Product G | null | null | null | null | null | null | 70 | null |
Pending | 1 | 1 | Product H | null | null | null | null | null | null | null | 80 |