如下語句,通過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