这句不模糊查询怎么改一下我用in(\'${para1}\')不对查不出数据

image.png

用户DZNws0326467 发布于 2022-2-18 15:21
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-2-18 15:23(编辑于 2022-2-18 15:33)

你的字段是两列拼出来的模糊。。多加一层子查询吧类似这样

要模糊的

select t.* from (

select a||b as colaa from 订单)

t

where 1=1

and t.colaa like '%${cs1}%'

不要模糊两列的值in你的参数的

select t.* from (

select a||b as colaa from 订单)

t

where 1=1

and t.colaa in ( '${cs1}')

然后设置复选框分隔符号为','

  • 用户DZNws0326467 用户DZNws0326467(提问者) 不要模糊查询了 怎么改 模糊查询会带出我不想查到的序号
    2022-02-18 15:24 
  • CD20160914 CD20160914 回复 用户DZNws0326467(提问者) 不要模糊查询就把like去掉。改成=就可以了。。如果你还是两列字段拼起来后的等于的话。。。就类似上面我修改后的。。
    2022-02-18 15:26 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-2-18 15:26

首先IN的格式应该是 IN('值1','值2','值N') 的格式

其次请确认你预览时传入的值有对应的数据in确实就是 select from where 字段='值1' union all select from where 字段='值2' union all select from where 字段='值N'

最佳回答
0
RiveryLv5中级互助
发布于2022-2-18 15:33

要看你这个参数传进来的值和两个字段合并起来的值是不是有一样的 有一样的才会查出来,就用in是可以的

in ('${para1}')

  • 3关注人数
  • 298浏览人数
  • 最后回答于:2022-2-18 15:33
    请选择关闭问题的原因
    确定 取消
    返回顶部