0
現在、GROUP BY WITH ROLLUPを使用して合計行を作成しているクエリを修正する作業が行われています。合計グループ化行にラベルを付ける
SELECT CONVERT(date, ShipDate),
DelNum,
SUM(ShipQty),
ROW_NUMBER() OVER(ORDER BY CASE WHEN ShipDate IS NULL THEN 0 ELSE ShipDate END ASC,CASE WHEN DelNum IS NULL THEN 'Z' ELSE DelNum END ASC)
FROM Shipments
WHERE Company = 'ABC' AND CustNum = 3
GROUP BY ShipDate, DelNum, ShipQty WITH ROLLUP
これは私が与えられたクエリでした。私はいくつかのラベルといくつかの注文を読みやすくするために追加しています。
SELECT CONVERT(date, ShipDate),
CASE WHEN (GROUPING(DelNum) = 1) THEN 'SUB TOTAL FOR ' + CONVERT(NVARCHAR, ShipDate, 111)
WHEN (GROUPING(ShipQty) = 1) THEN 'SUB TOTAL FOR ' + DelNum
--WHEN (GROUPING(Total) = 1) THEN 'TOTAL'
ELSE ISNULL(DelNum, 'UNKNOWN')
END AS DelNum,
SUM(ShipQty) Total,
ROW_NUMBER() OVER(ORDER BY CASE WHEN ShipDate IS NULL THEN 0 ELSE ShipDate END ASC,CASE WHEN DelNum IS NULL THEN 'Z' ELSE DelNum END ASC)
FROM Shipments
WHERE Company = 'ABC' AND CustNum = 3
GROUP BY ShipDate, DelNum, ShipQty WITH ROLLUP
ORDER BY ShipDate, DelNum, Total ASC
私がコメントした行は問題があります。どのように総行にラベルを付けることができますか。私はTotal
を認識不能にしています。
ご協力いただければ幸いです。
ありがとうございました。 –