sql如何实现单表多关键字模糊查询,在线等

例如有一数组(a,b,c)里面的值并不是唯一的,是动态的有可能是2个或者3个,最大不会超过4个组成..我大致的思路是先储存,再分解,在模糊查询sql='select*fr... 例如有一数组(a,b,c)里面的值并不是唯一的,是动态的有可能是2个或者3个,最大不会超过4个组成..
我大致的思路是先储存,再分解,在模糊查询
sql='select * from tb where title like ''%'+分解后第一个结果..+'%'' and title like '''%'+分解后第二个结果..+'%'' and title like '''%'+分解后第三个结果+'%''
但不知应该如何完善此部分代码,求帮助~
展开
 我来答
庄经略7s
推荐于2017-12-15 · TA获得超过155个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:213万
展开全部
你可以限定一一个字符串
string sql='select * from tb where '
for(数组循环取值)
{
sql=sql+"title like '%"+数组值+"%' or";
}
然后处理掉sql最后的or,用;替代即可
为确保sql语句正确,加一句system.out.println(sql);输出到控制台看看sql语句是否正确
记得如果你是说满足数据中任意一个元素即可那就不能用and,因为你是满足其中一个即可
更多追问追答
追问
谢谢你的,回答,不知道你对dede熟悉不,这段代码我想加到dede里面,根据文章的关键词,进行分解、查询,,代码不知道咋写。。
追答
不太熟,写底层的比较多,不太用开源工具的
yuboalt
2015-01-28 · TA获得超过578个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:207万
展开全部
String[] array ;
String sql ="select * from tb where title like '"+array[0] +"' ";
for(int i = 1 ; i <array.length;i++){
sql+=" and title like '"+array[i]+"' ";

}
追问
你好,不知道你对dede熟不熟悉,,我想同过文章的关键词组,,按照你的方案,我试了好久都没成功,可能写的不对。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
段清莹eA
2018-11-22
知道答主
回答量:1
采纳率:0%
帮助的人:797
展开全部
select 字段 from 表 where xxx like '%王%' and xxx like '%xxx学院%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式