如果传的参数是1,sql就拼接A的where条件,如果传的2,sql就拼接b的where条件

如何实现,传的参数是1,sql就拼接 A 的where条件,如果传的2,sql就拼接 b 的where条件image.png

FineReport vTVzmj 发布于 2024-5-22 13:28 (编辑于 2024-5-22 13:40)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
snrtuemcLv8专家互助
发布于2024-5-22 13:34

直接

where 1=1

${if(参数='1',"and 字段='A'",if(参数='2',"and 字段='B'"," and 字段='其他'"))}

  • vTVzmj vTVzmj(提问者) 但是 报错 WHERE 1=1 ${if(flag='1',"and LEFT(LOAD_DATE,6) = '${yearMonth}'","and LEFT(LOAD_DATE,6) BETWEEN '${jqDateStart}' AND '${jqDateEnd}'")}
    2024-05-22 13:40 
  • snrtuemc snrtuemc 回复 vTVzmj(提问者) 你这个写法不对,${}中不需要${}了,WHERE 1=1 ${if(flag='1',"and LEFT(LOAD_DATE,6) = '"+yearMonth+"'","and LEFT(LOAD_DATE,6) BETWEEN '"+jqDateStart+"' AND '"+jqDateEnd+"'")}
    2024-05-22 13:44 
  • vTVzmj vTVzmj(提问者) 回复 snrtuemc 好的
    2024-05-22 13:46 
  • 2关注人数
  • 179浏览人数
  • 最后回答于:2024-5-22 13:40
    请选择关闭问题的原因
    确定 取消
    返回顶部