求助:
有一张动态表,表数据模板如下:
序号 卡号 金额
1 001 1
2 002 4
3 002 6
4 001 2需要实现如下效果:序号 卡号 金额
1 001 1
4 001 2
合计 3
2 002 4
3 002 6
合计 10只要一个卡号有一笔以上的金额,就要针对该卡号进行金额合计动态插入合计
有一张动态表,表数据模板如下:
序号 卡号 金额
1 001 1
2 002 4
3 002 6
4 001 2需要实现如下效果:序号 卡号 金额
1 001 1
4 001 2
合计 3
2 002 4
3 002 6
合计 10只要一个卡号有一笔以上的金额,就要针对该卡号进行金额合计动态插入合计
解决方案 »
- 【求助】求助怎样配置PL/SQL监听呢?刚刚接触,请指教!
- 使用oracle sql developer移植sql sever 2005的问题
- 调用 DBMS_PROFILER 存储过程错误问题
- 我想把oracle中的数据导出到sqlserver,应该怎么做?谢谢
- 求高手帮忙(超急):ORACLE里如何提取一个字段中的字符重复数
- 如何对远程数据库上的表创建索引
- OracleOraHome81ManagementServer启动不了,本机的Management Server叫什么名字
- 【 软 件 架 构 研 讨 会】
- 系统乱码问题
- 谁有办法实现我的这个目的
- oracle11g xmldom生成xml的信息问题(PLS-00201)
- 请教一下:一个resource权限的用户能某些表不能访问?
with t1 as
(
select 1 c1,'001' c2,1 c3 from dual union all
select 2 c1,'002' c2,4 c3 from dual union all
select 3 c1,'001' c2,6 c3 from dual union all
select 4 c1,'002' c2,2 c3 from dual
)select c1,
case when c1 is null and c2 is not null then c2||'合计'
when c1 is null and c2 is null then '总计'
else c2 end c2,
sum(c3) c3
from t1
group by rollup(c2,c1)
order by c2,c1
c1 c2 c3
----------------------------------
1 1 001 1
2 3 001 6
3 001合计 7
4 2 002 4
5 4 002 2
6 002合计 6
7 总计 13
(select 1 seq, '001' cno, 1 amt from dual
union all
select 2 seq, '002' cno, 4 amt
from dual
union all
select 3 seq, '002' cno, 6 amt
from dual
union all
select 4 seq, '001' cno, 2 amt
from dual
union all
select 5 seq, '003' cno, 3 amt from dual)
select seq, cno, sum(amt) from t group by grouping sets((seq, cno), cno);
---rollup函数
SELECT ID,CASE WHEN ID IS NULL THEN '合计' ELSE CARD_ID END ,MONEY FROM
(SELECT T.CARD_ID,T.ID, SUM(T.MONEY) MONEY
FROM TEST1 T
GROUP BY ROLLUP(T.CARD_ID,T.ID) ) d
WHERE CARD_ID IS NOT NULL