+ -
当前位置:首页 → 问答吧 → 如何按树型结构展现数据

如何按树型结构展现数据

时间:2011-10-31

来源:互联网

现在有一个财务报表,其中有如下项目:01-期初余额、0101-现金、0102-银行存款、0103-其他 等 ,其中“01-期初余额”是父级,其他项目是子集, 员工按照子级上报数据; 查询展现时,不仅要显示子级而且需要展现父级汇总值,如下:
上报数据: 
项目 值
01-期初余额
0101-现金 100  
0102-银行存款 200 
0103-其他 300
展现:
项目 值
01-期初余额 600
0101-现金 100  
0102-银行存款 200 
0103-其他 300

报表中有很多项目,有的项目之间存在3、4层层级关系,如何实现?
 

作者: hong1987   发布时间: 2011-10-31

用connect by进行循环查找

作者: tx2730   发布时间: 2011-10-31

SQL code

--1 新建一个表 保存两项内容 (一般系统都会存在这个配置表)
create table tmp_tab as
  select distinct substr(项目,1,instr(项目,'-',1)-1) id,
                  substr(项目,instr(项目,'-',1)+1) name
    from 表1;

--2 查询你想要的数据
select t2.id||'-'||t2.name,sum(nvl(表1.值,0))
  from 表1,tmp_tab t2
 where 表1.项目 like t2.id||'%';


作者: BenChiM888   发布时间: 2011-10-31