如何查询客户贷记/借记的整体余额?

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 小程序?

是否有任何特定的 RAILS 宝石/库可以帮助执行交易,例如银行账户的贷记和借记金额?

SQL - 每列的 where 条件

如何更正此 SQL 查询?

如何检查只有信用卡号有效而不是借记卡..?

java 编程