我想将总计和小计添加到Oracle中的结果
Org ID Org Name Transaction Date Amount
11 AA T1 2018-4-11 100
11 AA T1 2018-5-11 200
22 BB T2 2017-9-7 200
22 BB T4 2018-9-11 100
结果就像
Org ID Org Name Transaction Date Amount
11 AA T1 2018-4-11 100
11 AA T1 2018-5-11 200
AA_subtotal 300
22 BB T2 2017-9-7 200
22 BB T4 2018-9-11 100
BB_subtotal 300
Total 600
现在我想将小计和总计加到结果中。
%{THE_REQUEST}
我该怎么做?我尝试了类似汇总的功能,但不确定如何使用它。有关如何修改查询的任何建议?谢谢!
答案 0 :(得分:1)
您可以使用GROUPING SETS
:
SELECT af.org_id as "Org ID", a.org_nm as "Org Name",
af.trans_cd as "Transaction",
TO_CHAR(af.creat_ts, 'mm/dd/yyyy') as "Date",
SUM(af.trans_am) as "Amount"
FROM adrs a JOIN
advrg_fee af
ON a.org_id = af.org_id
WHERE af.creat_ts >= DATE '2019-04-01' AND af.creat_ts < DATE '2019-05-01'
GROUP BY GROUPING SETS ( (af.org_id, a.org_nm, af.trans_cd, TO_CHAR(af.creat_ts, 'mm/dd/yyyy') ), (a.org_nm), () );
请注意我对查询所做的更改:
JOIN
语法。