1.创建的表为浮动表
注意设置成浮动维单元格
把东西都选在红色框框里面
2.在对需要进行钻取的表元设置
设置参数
注意
参数是传递用的,值取的是当前表的值,这样参数可以带着这个表的值往下传
使用的是SQL数据源
在最后加上这行代码
having rso1.parent_id = '<#=@zh#>'
表示子表的parent_id 要等于上面传过来的值,这样才能做到选哪个,哪个出来
理解
分行—中心支行—支行—科室
中心支行页面的设置:
在支行页面的设置:
代码:
select rso1.id ,rso1.parent_id ,rso1.code ,rso1.name
from
(select id,PARENT_ID ,CODE ,NAME ,SHORT_NAME ,ifnull(ORG_TYPE,0) as 'org_type' ,DR from romp_sys_org rso ) rso1,
(select id,PARENT_ID ,CODE ,NAME ,SHORT_NAME ,ifnull(ORG_TYPE,0) as 'org_type' ,DR from romp_sys_org rso ) rso2
where rso1.id = rso2.parent_id
and rso1.org_type = 2
group by rso1.id ,rso1.parent_id ,rso1.code ,rso1.name
having rso1.parent_id = '<#=@zh#>' –这是传参使用,没有这行代码最终会将所有支行都显示出来,所以很重要。
在科室页面的设置
科室处于最下级,所以不需要再设置跳转(钻取)
代码:
select rso2.id ,rso2.parent_id ,rso2.code ,rso2.name
from
(select id,PARENT_ID ,CODE ,NAME ,SHORT_NAME ,ifnull(ORG_TYPE,0) as 'org_type' ,DR from romp_sys_org rso ) rso1,
(select id,PARENT_ID ,CODE ,NAME ,SHORT_NAME ,ifnull(ORG_TYPE,0) as 'org_type' ,DR from romp_sys_org rso ) rso2
where rso1.id = rso2.parent_id
and rso2.org_type = 3
group by rso2.id ,rso2.parent_id ,rso2.code ,rso2.name
having rso2.parent_id = '<#=@ks#>' –这是传参使用,没有这行代码最终显示所有科室的,所以很重要。
总结:
- 要正确写出SQL语句,并且进行group by操作,将各个中心支行对应的支行,支行对应的科室放在一起
- 要正确设置钻取,并且钻取里面的参数、值要弄明白,参数是往下传的,值是等于当前表的表元值,参数是往下传的!!!
- 弄明白如何进行关联,比如这个中心支行—支行—科室,中心支行的ID是支行的parent_id,所以可以想的是,让支行的Parent_id = 中心支行的ID ,这样就能找到联系