求大神,数据集内参数条件控制!

select  * from yy_power  where  1=1  and xm_fczt='0'

${if(user("defaultGroupName")=="深圳总部",if(len(gsmc)==0,""," and c_gsmc in ("+CONCATENATE("'",replace(gsmc,",","','"),"'")+")"),if(js=='1'," and c_gsmc in ("+CONCATENATE("'",replace(gsmc,",","','"),"'")+"),if(js=='2'," and c_gsmc in ("+CONCATENATE("'",replace(gsmc,",","','"),"'")+") and xm_gs in("+CONCATENATE("'",replace(city,",","','"),"'")+"),if(js=='3'," and c_gsmc in ("+CONCATENATE("'",replace(gsmc,",","','"),"'")+") and c_fzr='"+user()+"'"))))}

order by c_gsmc,xh1


我想要是实现的逻辑:当user("defaultGroupName")==“深圳总部”,就查询出来所有的数据,如果控件(gsmc)==0,查询出所有的数据,否则c_gsmc=控件(gsmc),当js=1的时候,控件c_gsmc=gsmc,当JS=2,c_gsmc=控件gsmc且xm_gs=city,如果js=3,c_gsmc=控件gsmc且c_user=系统user


FineReport 1317753032 发布于 2020-3-11 15:20
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
cd_cwLv6初级互助
发布于2020-3-11 15:38(编辑于 2020-3-11 15:41)

select  * from yy_power  where  1=1  and xm_fczt='0'  ${if(defaultGroupName ="深圳总部" or (len(gsmc)==0,"",if(js=1,"and c_gsmc='"+gsmc+"'",if(js = 2,"and c_gsmc='"+gsmc+"' and xm_gs ='" +city+"'",if(js = 3,"and c_gsmc='"+gsmc+"' and c_user='" +user+"'",""))))}  

脑子有点乱 大概就是这样的  你看看行不行  

你这最后 js不等于1 2 3 怎么办 全部查么

如果不行 可以远程看看么  手写的公式 怕格式出错

最佳回答
0
ycswyw1123Lv6初级互助
发布于2020-3-11 17:48

select  * from yy_power  where  1=1  and xm_fczt='0'

${if(defaultGroupName ="深圳总部" || len(gsmc)==0,"",if(js=1,"and c_gsmc='"+gsmc+"'",if(js = 2,"and c_gsmc='"+gsmc+"' and xm_gs ='" +city+"'",if(js = 3,"and c_gsmc='"+gsmc+"' and c_user='" +user+"'",""))))}  


  • 3关注人数
  • 369浏览人数
  • 最后回答于:2020-3-11 17:48
    请选择关闭问题的原因
    确定 取消
    返回顶部