sql多条件语句查询的问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:21:57
数据表里面有字段省份,城市,分类,姓名和公司名称。
现在要实现的查询功能是:
1、默认不选择省份,不选择分类,不输入姓名或公司名称则显示全部信息。
2、有可能用户不选择省份,只选择分类,也不输入姓名或公司名查询。
3、有可能用户选择省份,但不选择分类,也不输入或有可能输入姓名或公司名查询。
4、有可能用户选择省份,选择分类,也输入姓名或公司名查询。
5、有可能用户不选择省份,不选择分类,只输入姓或或公司名查询。

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

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

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&"' o

sql="select * from minpan"

sql=sql&" where 1 = 1 "

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

sql=sql&" and sf='"&sheng&"' "
end if

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

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

if keyword<>"" then
sql=sql&" and xm ='"&keyword&"' or gs like'%"&keyword&"%'"
end if

'把sql 输出看一下对不对,测试一下sql

select * from minpan
where (sheng=@sheng or sheng is null)
and (city=@city or city is null)
and (fenlei..............)
and (........基本同上...........)
以上为SQL语法 嵌入SQL代码请自行修改