mysql动态多条件查询语句!!!!

一组教师姓名,课程,班级的数据查询条件输入框分别为key1key2key3用户自己想怎么查就怎么查按照姓名,或者课程,或者班级,或者任意组合查询信息怎么写语句???还要支... 一组教师姓名,课程,班级的数据查询条件输入框分别为key1 key2 key3
用户自己想怎么查就怎么查按照姓名,或者课程,或者班级,或者任意组合查询信息怎么写语句???还要支持模糊查询。。。
我说的可能不清楚 是在javaservlet文件中写mysql查询语句 动态多条件的 上面3个只是例子 条件多很多种
输入框有很多 key1key2key3........
然后servlet中需要写的sql语句:string sql="SELECT * FROM teacher WHERE TeachName like '%"+key+"%'。。。。。。。"怎么写 and连接是所有条件都要有 用户可能只填任意个。。用if判断输入框值为不为空3个左右还算简单 以上就复杂了 想要一句sql语句就能代替的
展开
 我来答
胡青枫
2014-01-09 · TA获得超过529个赞
知道小有建树答主
回答量:77
采纳率:100%
帮助的人:65.2万
展开全部
select * from table where (name1 like '%key1%' or name2 like '%key2%' or name3 like '%key3%')

同理,你还可以任意再次组合,用or连接就行

如再上 name1 like key1 or name1 like key2 or name1 like key3

name2 like key1 or name2 like key2 or name2 like key3

等等
更多追问追答
追问
这个不对啊  or的效果是或  只取后一个条件  我要的效果是 输入一个条件找符合那个的  输入多个查询同时符合的
追答
那是这样的,

你事先要定义一个变量来存储要执行的东西



$where = '1';

if($key1) $where .= ' and name1 like "%key1%"';
if($key2) $where .= ' and name2 like "%key2%"';

然后执行语句 select * from table where $where

大致就是这个意思
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yu641150278
2014-01-09 · TA获得超过1069个赞
知道小有建树答主
回答量:637
采纳率:100%
帮助的人:315万
展开全部
$where = "1";
if($key1){
    $where .= " and key1 like '%".$key1."%'";
}
if($key2){
    $where .= " and key2 like '%".$key2."%'";
}
if($key3){
    $where .= " and key3 like '%".$key3."%'";
}
$sql = "select * from table where ".$where;
追问
我是在java里写的代码 Servlet中$识别不了
追答
好吧,javaservlet不了解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式