【发布时间】:2020-01-14 22:51:18
【问题描述】:
我有以下有效的查询,可以得到我需要的总数。
但是,我需要对其进行更改,以便它只显示最终总计,而不是导致总计的每笔交易。我尝试使用最大事务数逐个汇总,逐个分组转换它,但我的总数从不匹配,而且我不完全理解 select 语句的 SUM 解码部分。我相信我需要将其中的一部分移到 where 语句来做我需要的事情。
这里是查询:
SELECT
SUM(DECODE(tbbdetc_type_ind,'C', (-1) * a.tbraccd_amount,'P',a.tbraccd_amount) ) OVER(
PARTITION BY a.tbraccd_pidm
ORDER BY
a.tbraccd_tran_number
) "Running total",
tbbdetc.tbbdetc_detail_code,
tbbdetc.tbbdetc_type_ind,
a.*
FROM
tbraccd a
JOIN taismgr.tbbdetc ON a.tbraccd_detail_code = tbbdetc.tbbdetc_detail_code
WHERE
a.tbraccd_pidm = '101010101'
order by tbraccd_tran_number desc;
任何有关如何转换它的帮助,以便我得到与最终运行总数相匹配的总数,我们将不胜感激。我的最终目标是获取 pidms(IDS) 列表的总计,每个 pidm 连续一个总计。
【问题讨论】: