数据集sql语句问题,如何添加多个不确定的条件?

做一个按关键字筛选的功能,条件语句这样写

where 1=1

${if(len(keyw)=0,""," AND CP.`产品描述` LIKE '%" + keyw +"%'")}

上面语句中,keyw为用户输入的关键字,这样写的话,只支持一个关键字查询,查找结果OK。

现在的问题是我想按多个关键字来筛选,比如,关键字有儿童、娱乐、家庭,那么语句就应该生成

where 1=1 AND (CP.`产品描述`LIKE '%儿童%' OR CP.`产品描述`LIKE '%娱乐%' OR CP.`产品描述`LIKE '%家庭%')

当然用户还可以输入更多的关键字,那么sql语句就要再增加 OR CP.`产品描述`LIKE ''。

那么应该在数据集里怎么写呢?

怎么根据keyw的个数来生成多个条件,而这个个数又不确定。

我有个想法是要求用户按空格分开,然后sql里按空格拆分成数组,再循环添加条件。

不知道这思路行不行,具体应该怎么写?

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

image.png前后再拼接一下就可以了

最佳回答
0
时光隧道Lv4见习互助
发布于2021-10-11 12:01

直接用in('儿童'、'娱乐'、'家庭')就行了

  • nhb2318 nhb2318(提问者) 不能吧 具体怎么写呀? CP.`产品描述` in 儿童吗? 是让CP.`产品描述` 包含那几个关键字呀
    2021-10-11 12:06 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-10-11 13:12

参考下拉复选框多值模糊查询-https://help.fanruan.com/finereport/doc-view-2499.html

  • 4关注人数
  • 464浏览人数
  • 最后回答于:2021-10-11 13:12
    请选择关闭问题的原因
    确定 取消
    返回顶部