设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 67|回复: 4
打印 上一主题 下一主题

sql多条件语句查询的问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-9 09:14:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数据表里面有字段省份,城市,分类,姓名和公司名称。
现在要实现的查询功能是:
1、默认不选择省份,不选择分类,不输入姓名或公司名称则显示全部信息。
2、有可能用户不选择省份,只选择分类,也不输入姓名或公司名查询。
3、有可能用户选择省份,但不选择分类,也不输入或有可能输入姓名或公司名查询。
4、有可能用户选择省份,选择分类,也输入姓名或公司名查询。
5、有可能用户不选择省份,不选择分类,只输入姓或或公司名查询。

省份是字段为sf,城市为city,分类为kind,姓名为xm,公司为gs
省份表单框名为sheng,城市为city,分类为kind,姓名或公司名都输入在keyword文本框中。
请各位高手帮我写一个SQL语句来实现这些查询。

以下是我自己写的,有错误。多条件情况下出错。
sql="select * from mintian"

if sheng<>"" or kind<>"" or keyword<>"" then
sql=sql&" where"
end if

if sheng<>""then
sql=sql&" sf='"&sheng&"' and city='"&city&"'"
end if

if kind<>"" then
sql=sql&" kind='"&kind&"'"
end if

if keyword<>"" then
sql=sql&" xm ='"&keyword&"' or gs like'%"&keyword&"%'"
end if
sql=sql&" order by id desc"
2#
发表于 2010-1-9 09:15:02 | 只看该作者
这里有解决方法:http://www.comcool.net/bbs/dispbbs.asp?boardid=3&Id=10
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-9 09:15:06 | 只看该作者
说得好复杂啊, 一句话就完了: 每个条件都可有可无
关键是你生成的SQL语句不正确, 你可以打印出来检查啊, 注意的是:
1 如果有两个条件及以上的, 之间要用 AND
2 如果一个条件都没有, 则不需要 WHERE
3 姓名和公司的条件要用 ( ... or ...)
回复 支持 反对

使用道具 举报

4#
发表于 2010-2-21 18:05:04 | 只看该作者
看完了这么强的文章,我想说点什么,但是又不知道说什么好,想来想去只想
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 12:34 , Processed in 0.070804 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表