CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

SQL复合查询求助

楼主boogo()2006-06-04 15:36:45 在 Web 开发 / ASP 提问

sql="select   *   from   表名   where   (年龄   like   '%"&search1&"%'   and   性别   like   '%"&search2&"%'   and   工作单位   like   '%"&search3&"%'   and   职务   like   '%"&search4&"%'   and   家庭住址   like   '%"&search5&"%')   order   by   id   asc"  
   
  这样写查询语句可以吗?  
  年龄等从上一页面的文本框中获取,要求可以任选上述五个条件单个或者复合进行查询. 问题点数:5、回复次数:6Top

1 楼sy_binbin()回复于 2006-06-04 15:53:06 得分 0

sql   =   "select   *   from   表名   where   "  
  if   search1   <>   ""   then  
      sql1   =   "年龄   like   '%"&search1&"%'"  
  else  
      sql1   =   ""  
  end   if  
   
  if   search2   <>   ""   then  
      sql2   =   "性别   like   '%"&search2&"%'"  
  else  
      sql2   =   ""  
  end   if  
   
  类似这样,你自己写写吧Top

2 楼boogo()回复于 2006-06-04 16:43:53 得分 0

这样穷举得多少代码啊?我想直接用一句SQL来实现.如果像这样的话,那还得写如下更多代码:  
  if   search1   =   ""   and   search2<>""   and   search3<>""   and   search4<>""   and   search5<>""      
  if   search1=""   and   search2=""   and   search3<>""and   search4<>""   and   search5<>""      
  if   search1=""   and   search2=""   and   search3=""and   search4<>""   and   search5<>""    
  ........  
  每个条件都要组合一句,那五个条件得组合1+2+3+4=10,  
  一定要这样才能实现吗?Top

3 楼kafly(王者)回复于 2006-06-04 16:52:42 得分 0

???  
  我怎么看着2楼已经教你怎么做了吧?他那怎么叫穷举呢?看仔细点,又不是把所有记录取出来用ASP判断,只是用ASP根据表单提交的变量组织SQL语句。  
   
  再有问题要问,年龄不是INT吗?为什么要用LIKE?性别不是两种吗?难道还有非男,非女?  
   
  一定要所有条件都写上吗?我就不能不填某些条件,用ASP来判断是否需要增加查询条件?  
   
   
  Top

4 楼kafly(王者)回复于 2006-06-04 16:54:45 得分 0

首先建议把表单修改一下。  
  年龄改成下拉菜单,可以选择年龄段;  
  性别改成单选按钮;     ○   男     ○   女Top

5 楼kafly(王者)回复于 2006-06-04 17:05:54 得分 0

再给你说说LIKE是什么  
   
  LIKE是确定给定的字符串是否与指定的模式匹配,模式可以包含常规字符和通配符字符。  
    %   ?   都是通配符,应该知道   dir   *.exe吧?*号就是通配符  
   
  使用   %   通配符  
  如果指定   LIKE   'a%',将搜索所有以a开头的字符串  
   
  使用[]  
  LIKE   '%[0-9]%'     搜索所有包含数字的字符串  
  LIKE   '%[a-z]%'     搜索所有包含小写字母的字符串  
  !的用法  
  LIKE   '%[!0-9]%'   不含数字的  
   
   
   
   
  Top

6 楼boogo()回复于 2006-06-04 23:02:38 得分 0

谢谢指正,我水平太菜,看不懂,不知二楼的这些SQL应当如何连接在一起呢?用&符合么?还是用+?  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:boogo

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo