注册 登录
编程论坛 ASP技术论坛

sql多条件语句查询的问题

sex2006 发布于 2008-04-24 14:47, 791 次点击
数据表里面有字段省份,城市,分类,姓名和公司名称。
现在要实现的查询功能是:
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 回复
#2
feelingxj2008-04-25 00:14
这里有解决方法:http://
#3
makebest2008-04-25 10:29
说得好复杂啊, 一句话就完了: 每个条件都可有可无
关键是你生成的SQL语句不正确, 你可以打印出来检查啊, 注意的是:
1 如果有两个条件及以上的, 之间要用 AND
2 如果一个条件都没有, 则不需要 WHERE
3 姓名和公司的条件要用 ( ... or ...)
1