通过同一行

时间:2018-03-19 14:23:18

标签: sql sql-server sql-server-2012

在此表中,我们在同一日期看到一些Transaction Dr和一些事务Cr的不同事务。我需要Cr - Dr作为每个日期的交易金额。 请参见屏幕截图1st Table

enter image description here

结果将是 - Result

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用案例和

分组
select date, sum(case when drcr = 'CR' then amount 
                  when drcr = 'DR' then -amount 
                    else 0 end)
from my_table 
group by date 

答案 1 :(得分:0)

作为@scaisEdge,但你需要一笔钱。

select date, sum(case when drcr = 'CR' then amuont else (-1 * amount) end) as tran_amt
from my_table 
group by date 

这应该是清楚的,但它的工作方式是在每个日期的总数中添加信用额和减去借方。