如下表
单位级次编码表
级次编码
001
001002
001002003
001003
001003001
001003002
001的下级单位就是前面有001的
001002的下级单位就是前面有001002的数据表
单位 金额
001002003 100
001003001 200
001003002 100现在要得到这样的表
单位编码 金额
001 400
001002 100
001003 300
001002003 100
001003001 200
001003002 100
请问改怎么写最简单,而且效率最高啊
单位级次编码表
级次编码
001
001002
001002003
001003
001003001
001003002
001的下级单位就是前面有001的
001002的下级单位就是前面有001002的数据表
单位 金额
001002003 100
001003001 200
001003002 100现在要得到这样的表
单位编码 金额
001 400
001002 100
001003 300
001002003 100
001003001 200
001003002 100
请问改怎么写最简单,而且效率最高啊
解决方案 »
- oracle 忘记密码
- 技术救急
- Oracle10i即时客户端连接不上oracle10i服务器
- 一个表T1有4G,把T1的数据批量插入到另一个库的T2,如何提高性能?
- Oracle 00101错误问题
- 关于物化视图定时刷新的问题!各位大哥快来看下!
- 在ORACLE中我执行了这个语句 alter table nametable drop column s 提示我缺少关键字为什么阿
- 求把数据从sql server中导出到oracle的sql语句
- oracle9i中的sid问题
- 老是提示没有监听器,问题出在哪里呢?
- oracle10g的sqlplus问题,急求帮助!
- Oracle 数据格式化:例如10045转换为100.45
(select sum(je) from 数据表 v where substr(v.单位,1,length(t.编码))=t.编码)
from t
decode(t.dan1,null,'',(decode(t.dan,null,t.dan1,(decode(t.danwei,null,t.dan,t.danwei))))) as dan
,t.jn
from
(
select
substr(c.danwei,1,3) as dan1,substr(c.danwei,1,6) as dan,c.danwei,sum(c.jine) as jn
from
datatable c
group by rollup(substr(c.danwei,1,3) ,substr(c.danwei,1,6),c.danwei)
)t
where t.dan1 is not null
order by length(dan),dan
datatable 数据表
danwei 单位
jine 金额