如何将一列分成两列并按 id 分组

The*_*r92 2 sql sql-server select sum

你能帮我

我想将金额列拆分为借方和贷方两列,以及按帐户 ID 划分借方和贷方组的总和

这是我的桌子:

ID | GeneralLedgerHeaderId | AccountId | DrCr | Ammount
1  |           1           |     2     |   1  | 200.000
2  |           1           |     4     |   1  | 200.000
3  |           1           |     5     |   2  | 428.000
4  |           1           |     8     |   1  | 28.000
5  |           2           |     5     |   1  | 428.000
Run Code Online (Sandbox Code Playgroud)

Mur*_*nik 5

假设这DrCr=1意味着借方并且DrCr=2意味着贷方,您可以使用几个case表达式:

SELECT   AccountId,
         SUM(CASE DrCr WHEN 1 THEN Amount END) AS sum_debit,
         SUM(CASE DrCr WHEN 2 THEN Amount END) AS sum_credit
FROM     mytable
GROUP BY AccountId
Run Code Online (Sandbox Code Playgroud)