sql - SQL 中的列总和
问题描述
我的表中有 2 列,Debit
并且Credit
. 我在做Debit - Credit
。
如果总和 Debit - Credit
>= 0,则在借方中添加值,否则在贷方中添加值。
现在如何在特定列中添加值?
我正在使用这个查询
SELECT
ActName,
CASE WHEN SUM(DebitAmount - CreditAmount) >= 0 THEN 'DebitAmount'
WHEN SUM(DebitAmount - CreditAmount) <= 0 THEN 'CreditAmount' END
FROM
TblAWSLocalTrans
GROUP BY
ActName
ORDER BY
...
解决方案
您的语法略有偏差。如果我理解正确,您希望汇总账户的贷方/借方,然后在适当的情况下报告贷方或借方。当账户有贷方时,借方应显示 0,反之亦然,账户有借方。
SELECT
ActName,
CASE WHEN SUM(CreditAmount - DebitAmount) >= 0
THEN SUM(CreditAmount - DebitAmount)
ELSE 0 END AS TotalCreditAmount,
CASE WHEN SUM(DebitAmount - CreditAmount) > 0
THEN SUM(DebitAmount - CreditAmount)
ELSE 0 END AS TotalDebitAmount
FROM TblAWSLocalTrans
GROUP BY ActName
ORDER BY ActName;
演示
推荐阅读
- javascript - 如何在角度应用程序中设置组件 RasaHQ/chatroom 的样式和设置良好位置
- asp.net-core - Identity Server 4 OIDC 授权码流多租户
- c++ - 迭代器不打印 C++ 中的所有地图
- php - 当我合并 2 个图像时出现问题,png 以白色显示背景
- jenkins - jenkins docker slave 映像不会启动
- javascript - 带有小数的正数和负数的负匹配正则表达式
- azure - 如何使用 docker compose YAML 在 Azure 中挂载 docker 卷
- python - sqlalchemy.exc.StatementError: (sqlalchemy.exc.InvalidRequestError) 在回滚无效事务之前无法重新连接
- python - 带有 Apply 和 Groupby 的 Lambda
- angular - Angular 10 检查用户是否为 null 以隐藏组件元素