日期:2014-05-18  浏览次数:20845 次

关于sql多条件组合模糊查询语句的咨询,请有经验的帮下忙!
以前都是做单条件查询,现在想学习做多条件查询。

我自己做了个网页,网页上包含查询条件字段有:身份证、姓名、性别、单位、所属部门、人员类别。

就一个查询按钮,当点击查询的时候就将这些字段提交给一个页面,这些都会做。现在的问题是:

提交过去的值可能只输入了身份证,然后其他是空的,但是也可能输入了其中几项然后剩下的是空的,也可能全部都是空的,也可能全部都有值。还有就是可能所属单位是个模糊值。

现在我想请问下,如何实现多条件的组合模糊查询。是否能够一个sql语句写完呢?其实我就是想简单的实现这几个条件的模糊组合查询,我的程序是,提交给页面,然后页面读到值后写个sql语句,然后就提交给后台执行这个sql语句,我现在不知道怎么去写这种sql语句,网上查了很多,关键是找到的都没看懂,希望有没有专家有简单易学的方法,最好能给点讲解的。谢谢,小弟是在学习,请多多帮忙,要是学会了,这对我是个大进步!

------解决方案--------------------
Java code
 //假设你是把参数放在request中的
String sql = " select * from t1 where 1=1 ";
if(request.getParameter("name") != null && !request.getParameter("name").equals("")) {
  //这里为了简洁,可以把不等于null和空封装到一个公用方法中去判断
  sql += " and name='" + request.getParameter("name") + "'";
}

if(request.getParameter("company") != null && !request.getParameter("company").equals("")) {
  sql += " and company like '%" + request.getParameter("name") + "%'";
}
//其他以此类推