sql - 对依赖于另一列值 SQL 的列进行条件排序
问题描述
我在一家银行工作,我正在尝试为我们的一些交易编写查询,每笔交易都作为交易金额 (TXN_AMOUNT_BASE) 输入,如果它是贷方或借方 (CREDIT_DEBIT_CODE),则稍后在另一列中标识。
长期目标是获得一个查询,告诉您每个客户的贷方与借方的比率。
直接目标是将金额简单地分成贷方列或借方列。这是我到目前为止所拥有的:
SELECT
PRIMARY_CUST_SRCE_REF_ID,
TXN_AMOUNT_BASE,
FROM
IDP_INTERFACE.V_L3_HPT_TRANSACTIONS
WHERE
CREDIT_DEBIT_CODE = 'C' AS Credit
AND CREDIT_DEBIT_CODE = 'D' AS Debit
GROUP BY
(PRIMARY_CUST_SRCE_REF_ID, TXN_AMOUNT_BASE, CREDIT_DEBIT_CODE)
我知道我在 WHERE C_D_CODE AS 段上错了,但我不知道从哪里开始纠正它。
谢谢
解决方案
我认为你想要条件聚合:
SELECT PRIMARY_CUST_SRCE_REF_ID,
SUM(CASE WHEN CREDIT_DEBIT_CODE = 'C' THEN TXN_AMOUNT_BASE ELSE 0 END) AS Credit,
SUM(CASE WHEN CREDIT_DEBIT_CODE = 'D' THEN TXN_AMOUNT_BASE ELSE 0 END) AS Debit
FROM IDP_INTERFACE.V_L3_HPT_TRANSACTIONS
WHERE CREDIT_DEBIT_CODE IN ('C', 'D')
GROUP BY PRIMARY_CUST_SRCE_REF_ID;
这将为您提供每个客户参考的贷方和借方的总和。如果你想要比率,然后除以值。
推荐阅读
- python-annoy - 如何在 python 中使用 spotify 的 annoy 库?
- javascript - JavaScript 中的高级路由
- c# - 在事务中执行批量插入的令人困惑的性能和没有
- xml - Monaco Editor 默认不支持 XML 语言吗?
- r - 为 R 中的列创建前缀
- python - 巴士路线:每条路线仅从 2 个站点获得多条路线
- c - C用蛮力实现解决方案数独不起作用
- flutter - 如何实现 pull_to_refresh 到 streambuilder
- scala - 用于转换 spark 数据框列的通用函数
- performance - 随机内存写入比随机内存读取慢?