SQL SERVER 使用PIVOT生成透視分析表

如下語句,通過PIVOT將D_C這列中的值分2列分別做統計:

SELECT * FROM (
select A.ACCNT_CODE,A.D_C,SUM(A.AMOUNT) AS AMOUNT2 from TES_A_SALFLDG AS A
group by A.ACCNT_CODE,A.D_C
) AS P
PIVOT (SUM(P.AMOUNT2) FOR D_C IN ([D],[C]))
AS PVT

其實不需要先做GROUP分給合計,還可以對結果加Where條件:

SELECT * FROM (
select A.ACCNT_CODE,A.D_C,A.AMOUNT  from TES_A_SALFLDG AS A
) AS P
PIVOT (SUM(P.AMOUNT) FOR D_C IN ([D],[C]))
AS PVT
WHERE D<0 OR C>0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章