where条件

select distinct 品类,sum(aexp_w+aexp_n)/10000 as '加税合计' from V_LUJJ_SAL_mt
where 1=1
and 月份 = replace('${ny}','-','')
${if(len(zzmc) == 0,"","and 组织简称  = '" + zzmc + "'")}
${if(len(pl) == 0,"","and 品类  = '" + pl + "'")}
${if(len(dq) == 0||dq = "中国","","and 省 = '" + dq + "'")}
${if(len(dq) == 0||dq = "中国","","and 城市 = '" + dq + "'")}
${if(len(dq) == 0||dq = "中国","","and 区县 = '" + dq + "'")}
group by 品类

如何写这个where条件,根据参数dq不同,显示各层级(中国,省,城市,区县)的数据?

孟祥运 发布于 2019-7-16 10:19
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
5
zy_20180110Lv5中级互助
发布于2019-7-16 10:45

参数给分开,一个参数做三种不同的判断不现实

国家用一个参数country,再加一个flag参数,选省flag=0,选市flag=1,选区flag=2

${if(flag == 0||country= "中国","","and 省 = '" + dq + "'")}

${if(flag == 1||country= "中国","","and 城市 = '" + dq + "'")}
${if(flag == 2||country= "中国","","and 区县 = '" + dq + "'")}


最佳回答
0
nanxi111Lv5见习互助
发布于2019-7-16 10:47

可以写成注释形式,这样查看语句时候也比较方便

${if(len(dq) == 0||dq = "中国","###","")}    and 省 = '${dq}'

  • 3关注人数
  • 427浏览人数
  • 最后回答于:2019-7-16 10:47
    请选择关闭问题的原因
    确定 取消
    返回顶部