-
17600051354 初学数据Lv2
发表于2018-8-21 12:11
悬赏1
已解决
楼主
比如点击全国,出现全国地区的信息,点击北京,出现北京所有地区的信息,怎么实现 sql是这样写的 where <#=if(@sarea='','1=1',"SAREACODE= '" +@sarea+ "' ")#> @area是地区下拉框组件参数的名称
最佳答案
17600051354 发表于 2018-8-21 12:48
有一个查询按钮,选中地区,然后查询,是根据sql数据源查询的
你的地区是一个层级维表吗?对于树形层级维表和通用层级的维表,sql数据源里面的写法是不太一样的。
1. 给你一个我自己的维表是通用维表的例子,sql数据源是这么写的:
select sum(a.DXDBSL) as B1,a.WLCCID as A1,max(b.WLCCMC) as mc_A10
from MQT_CW_GL_DXSLYJZ a
,MQT_DIM_WLCC b
where (A.WLCCID=B.WLCCID(+)) and
<#=if(@hhxx<>'', "(" +(@hhxx+"").split("\\|").select(true,"a.pp||'$'||a.dl||'$' ||a.xl like '"+@+"%'").join(" or ")+")","1=1") #>
group by a.WLCCID
2.如果是层级维的话
<#=if(@qj='','1=1','REGION_ID='+@qj)#>
4个回答
17600051354 发表于 2018-8-21 12:48
有一个查询按钮,选中地区,然后查询,是根据sql数据源查询的
你的地区是一个层级维表吗?对于树形层级维表和通用层级的维表,sql数据源里面的写法是不太一样的。
1. 给你一个我自己的维表是通用维表的例子,sql数据源是这么写的:
select sum(a.DXDBSL) as B1,a.WLCCID as A1,max(b.WLCCMC) as mc_A10
from MQT_CW_GL_DXSLYJZ a
,MQT_DIM_WLCC b
where (A.WLCCID=B.WLCCID(+)) and
<#=if(@hhxx<>'', "(" +(@hhxx+"").split("\\|").select(true,"a.pp||'$'||a.dl||'$' ||a.xl like '"+@+"%'").join(" or ")+")","1=1") #>
group by a.WLCCID
2.如果是层级维的话
<#=if(@qj='','1=1','REGION_ID='+@qj)#>
我看到知识库里面有一个sql数据源应用的专贴,你可以上去看看:
http://www.esensoft.com/service/self-help/knowledges.html
不过,我觉得能不用sql数据源最好吧,直接用报表来做的话,过滤处理起来更简单一些