使用SQL Server 2008,我有兩個表:SALESORD_HDR
和SALESORD_LINES
如何從查詢得到的結果的總和SQL
常見的標識是SALESORD_HDR.SEQNO
我想找到的總和來自此查詢的結果:
Select
SOL.STOCKCODE as SC,ORD_QUANT as OQ
from
SALESORD_LINES SOL
INNER JOIN
SALESORD_HDR SOH ON SOL.HDR_SEQNO = SOH.SEQNO
WHERE
SOL.HDR_STATUS = '6' AND SOH.ORDERDATE > DATEDIFF(D,120,getdate())
ORDER BY
SOL.STOCKCODE
這給出了正確的數據來處理。但是我想爲STOCKCODE
的每條記錄找到ORD_QUANT
中的值的總和。
我試圖把這樣的:
Select SOL.STOCKCODE as SC,SUM(ORD_QUANT) as OQ
,但失敗了,說
消息8120,級別16,狀態1,行1
列 'SALESORD_LINES.STOCKCODE' 是無效的選擇列表,因爲它不包含在聚合函數或GROUP BY子句中。
有將是語法,我不知道:)
任何幫助將不勝感激之和的方式!
您需要在當前查詢的末尾添加一個「GROUP BY SOL.STOCKCODE」(在'ORDER BY'之前,雖然) – Lamak
@Lamak添加一個答案。 :) – Taryn
@bluefeet我寧願選擇關閉太過本地化:-) – Lamak