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 '''%'+分解后第三个结果+'%''
但不知应该如何完善此部分代码,求帮助~ 展开
我大致的思路是先储存,再分解,在模糊查询
sql='select * from tb where title like ''%'+分解后第一个结果..+'%'' and title like '''%'+分解后第二个结果..+'%'' and title like '''%'+分解后第三个结果+'%''
但不知应该如何完善此部分代码,求帮助~ 展开
3个回答
展开全部
你可以限定一一个字符串
string sql='select * from tb where '
for(数组循环取值)
{
sql=sql+"title like '%"+数组值+"%' or";
}
然后处理掉sql最后的or,用;替代即可
为确保sql语句正确,加一句system.out.println(sql);输出到控制台看看sql语句是否正确
记得如果你是说满足数据中任意一个元素即可那就不能用and,因为你是满足其中一个即可
string sql='select * from tb where '
for(数组循环取值)
{
sql=sql+"title like '%"+数组值+"%' or";
}
然后处理掉sql最后的or,用;替代即可
为确保sql语句正确,加一句system.out.println(sql);输出到控制台看看sql语句是否正确
记得如果你是说满足数据中任意一个元素即可那就不能用and,因为你是满足其中一个即可
更多追问追答
追问
谢谢你的,回答,不知道你对dede熟悉不,这段代码我想加到dede里面,根据文章的关键词,进行分解、查询,,代码不知道咋写。。
追答
不太熟,写底层的比较多,不太用开源工具的
展开全部
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]+"' ";
}
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熟不熟悉,,我想同过文章的关键词组,,按照你的方案,我试了好久都没成功,可能写的不对。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 字段 from 表 where xxx like '%王%' and xxx like '%xxx学院%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询