select语句怎么写?

有一个例子中,用到这个语句:

SELECT * FROM 销量 where 1=1 ${if(len(area)==0,"","and 地区='" + area + "'")}

意思是当变量area有值时,就加上“地区=area”这个条件

可是我的要求是,当变量area有值时,加上"地区 like %area"这个条件,把精确查找变成模糊查找


我怎么写也不对,请大家帮帮忙吧


现在不想用动态SQL的方法了,想加载完全部数据后,用JS的方法筛选

首行设置文本控件,输入任意字符,数据行再根据.indexOf()函数来判断是否隐藏的方法来做,如果包含就$(this).parent().show();不包含就$(this).parent().hide();如何来写?


为什么不想用动态SQL?因为用了动态SQL,我输入被搜索的字符后,光标就不在文本框里了,文本控件会失去焦点,这样我输入一个字符就执行一次动态SQL,光标就跑一次,用起来很不爽。目前找到了.parent().show()的方法,可以在搜索单元格里不停地输入,下面不停的搜索,光标还不跑,现在需要解决的问题是如何实现多列同时搜索?


blob.png

FineReport nhb2318 发布于 2019-4-20 21:24 (编辑于 2019-4-20 23:55)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
4
axingLv6专家互助
发布于2019-4-20 22:47
SELECT * FROM 销量 
where 1=1 
${if(len(area)==0,"","and 地区 like'%" + area + "%'")}


  • nhb2318 nhb2318(提问者) 我换方法了,咱们继续研究
    2019-04-20 23:55 
  • axing axing 回复 nhb2318(提问者) 你这是换了个问题。。。
    2019-04-20 23:59 
  • 圣体叶小凡 圣体叶小凡 回复 axing 他这直接换了题···
    2019-04-21 00:14 
最佳回答
0
圣体叶小凡Lv6高级互助
发布于2019-4-20 22:02

${if(len(area)==0,"","and 地区 like (concat('%','"+area+"','%'))")}

  • nhb2318 nhb2318(提问者) concat是什么意思? 是不是不用这个也行啊?
    2019-04-20 22:09 
  • 圣体叶小凡 圣体叶小凡 回复 nhb2318(提问者) 不用也行,我习惯这样写罢了,反正是模糊查询
    2019-04-21 00:14 
最佳回答
0
Kevin-sLv7中级互助
发布于2019-4-20 22:48

用下面这个语句可以实现。WHERE 1=1 ${IF(LEN(area)==0,"","AND  REGEXP_LIKE(area, ('"+ area +"'))")}


然后在该下拉控件下的分隔符上加上字符  | 就可以实现

image.png

我这边试了试可以的。若有疑问,可以加qq1723717779

  • nhb2318 nhb2318(提问者) 我换方法了,咱们继续研究
    2019-04-20 23:56 
  • Kevin-s Kevin-s 回复 nhb2318(提问者) 用这个相对简单
    2019-04-21 18:40 
  • nhb2318 nhb2318(提问者) 回复 Kevin-s 有个新问题,看贴http://bbs.fanruan.com/wenda/question/7765.html
    2019-04-21 19:45 
  • 4关注人数
  • 702浏览人数
  • 最后回答于:2019-4-20 23:55
    请选择关闭问题的原因
    确定 取消
    返回顶部