-
-
伶俐 数据达人Lv4
发表于2018-12-13 15:07
悬赏1
已解决
伶俐 发表于 2018-12-14 09:50
不知道是不是我改的不会,报错了,测试不通过,计算也报错
- <#=if(@bm="","1=1","PD.DEPT_NO like '"+@bm+"%'")#>
38个回答
用if进行判断
当参数不选择任何数据,查询结果为全部时:
巫浅浅 发表于 2018-12-13 15:11
用if进行判断
当参数不选择任何数据,查询结果为全部时:
写法:判断结果为"1=1" 举例:
可以帮我看一下,这个在数据源里面这样写是不是有误,因为我用了if 出来的数据都是空的 sql数据源的where 条件里面,而且我的部门默认编码是0 ,写了if@bm='0'之后,就报错了 ,我写的是: where PD.DEPT_NO='<#=if@bm='',1=1,@bm#>'
伶俐 发表于 2018-12-13 15:29
可以帮我看一下,这个在数据源里面这样写是不是有误,因为我用了if 出来的数据都是空的 sql数据源的wher ...
你说的报错是 测试sql 不通过是把,如果sql数据源中有参数,测试sql的时候没法获取到参数,那它肯定要报错啦,这种情况下 可以直接保存了用就可以了
巫浅浅 发表于 2018-12-13 15:37
你说的报错是 测试sql 不通过是把,如果sql数据源中有参数,测试sql的时候没法获取到参数,那它肯定要报 ...
大神,我目前是这样写的 where PD.DEPT_NO='<#=IF(@bm="","1=1",@bm)#>' ,结果我选择部门的时候,能显示部门的对应数据 ,但是 什么都选的时候,没有任何数据,我看了一下详细信息,里面展示的是 PD.DEPT_NO='', 你看是不是我的sql 数据源里面的where条件写错了
伶俐 发表于 2018-12-13 16:42
大神,我目前是这样写的 where PD.DEPT_NO='' ,结果我选择部门的时候,能显示部门的对应数据 ,但是 ...
什么都选的时候,没有任何数据?? 啥意思 是不是打错字了
巫浅浅 发表于 2018-12-13 15:37
你说的报错是 测试sql 不通过是把,如果sql数据源中有参数,测试sql的时候没法获取到参数,那它肯定要报 ...
我在后台数据库里面当PD.DEPT_NO <> '' 或者 PD.DEPT_NO IS NOT NULL 可以展示全部部门的值,不知道可不可以在where 里面写 为空的时候 (输出IS NOT NULL ) 我试了好多在<##>里面写都不太对
这个帖子上的文档有看吗?http://bbs.esensoft.com/thread-128857-1-1.html
维表类型有3种单级维、多级维、通用维,对每一种维表的过滤写法都是不一样的,其中还包含了多选的情况。
这种<#=if(@qj='','1=1','REGION_ID='+@qj)#>只是单级维或层级维单选的情况,你现在是哪种场景的过滤呢