這是我的T-SQL代碼:如何根據列的值對一個記錄集的總和進行求和?
SELECT H.ORDER_DATE 'Order Date',
SUM(D.WORK_QTY) 'Work Qty',
SUM(TD. TRAN_QTY) 'Transaction Qty',
IM.PUMJ_CD
FROM [dbo].[ORDER_HEADER] H
LEFT JOIN ORDER_DETAIL D ON D.ORDER_ID = H.ORDER_ID
LEFT JOIN TRAN_HEADER T ON T.ORDER_ID = H.ORDER_ID
LEFT JOIN TRAN_DETAIL TD ON TD.TRAN_ID = T.TRAN_ID
LEFT JOIN TRAN_TYPE TT ON TT.TRAN_TYPE_ID = TD.TRAN_TYPE_ID
LEFT JOIN ITM_MST IM ON IM.ITM_NM = D.ITEM_NAME
WHERE TD.TRAN_TYPE_ID = '231'
AND PUMJ_CD IN ('BF','BR','SHFT','BJ','TJ')
AND H.ORDER_DATE BETWEEN '20170403' AND '20170407'
GROUP BY IM.PUMJ_CD,
H.ORDER_DATE
ORDER BY H.ORDER_DATE
,並返回記錄集:
Order Date | Work Qty | Transaction Qty | PUMJ_CD
-------------------------------------------------
20170403 | 10 | 7 | BF
20170403 | 24 | 12 | BR
20170403 | 16 | 14 | TJ
20170404 | 15 | 10 | BF
是否有可能從記錄集求和行,其中: 「訂購日期」是同樣,和 PUMJ_CD IN( 'BF', 'BR') ,並有導致記錄集的樣子:
Order Date | Work Qty | Transaction Qty | PUMJ_CD
-------------------------------------------------
20170403 | 34 | 19 | TOTAL
20170403 | 16 | 14 | TJ
20170404 | 15 | 10 | BF
我一直在試圖找出一種方法在一個查詢中做到這一點,但由於我的知識有限,我沒有取得成功。我嘗試過在線查找,但我發現很難用谷歌中的問題來描述我需要的內容。如果任何人能夠幫助或指出我正確的方向,那將是非常感謝。
這工作!我只需要在第二個SELECT語句中替換句號錯誤類型,並且查詢成功執行。我還添加了一個 ORDER BY H.ORDER_DATE 以按順序獲取行。感謝您的幫助! –