如何查询客户贷记/借记的整体余额?
Posted
技术标签:
【中文标题】如何查询客户贷记/借记的整体余额?【英文标题】:How to query overall balance for credit / debit of customer? 【发布时间】:2021-04-02 13:35:45 【问题描述】:问题:我有一个如下的 SQL Server 表:
transaction id | timestamp | customer | cost | operation |
---|---|---|---|---|
123 | 10-12-2020 | 1 | 60 | credit |
456 | 11-12-2020 | 2 | 50 | credit |
789 | 11-12-2020 | 1 | 20 | debit |
000 | 12-12-2020 | 3 | 100 | credit |
999 | 15-12-2020 | 2 | 50 | debit |
我希望获得客户的整体实时余额,如下所示。因此,在上述交易表中输入新记录之前,我将检查该客户的余额并将其显示给用户。
customer | balance |
---|---|
1 | 40 |
2 | 0 |
3 | 100 |
我尝试了连接和合并,但没有奏效。
【问题讨论】:
仅供参考,预计您会在 SO 上展示您的尝试。 【参考方案1】:你可以只使用条件聚合:
select customer,
sum(case when operation = 'credit' then cost else -cost end) as balance
from mytable
group by customer
sum()
中的 case
表达式根据是贷方还是借方来添加或减去成本。
【讨论】:
以上是关于如何查询客户贷记/借记的整体余额?的主要内容,如果未能解决你的问题,请参考以下文章
主机应用程序如何在 Netbeans 中的模拟智能卡上查询 javacard 小程序?