sql多条件查询语句

表中字段有:姓名,年龄,身高,体重;将这些字段设置为查询条件,可进行单条件查询,也可多条件查询,如果所有查询条件为“全部”时,则显示所有资料,我原用IfCombo1.Te... 表中字段有:姓名,年龄,身高,体重;将这些字段设置为查询条件,可进行单条件查询,也可多条件查询,如果所有查询条件为“全部”时,则显示所有资料,我原用
If Combo1.Text = "全部" And Combo2.Text <> "全部" And Combo3.Text <> "全部" And Combo4.Text <> "全部" Then
SQL = "select * from 档案 where 编号<>' ' And 年龄='" & Combo2.Text & "' And 身高='" & Combo3.Text & 体重 =‘' & combo4.text & ''"
ElseIf Combo2.Text = "全部" And Combo1.Text <> "全部" And Combo3.Text <> "全部" And Combo4.Text <> "全部" Then
SQL = "select * from 档案 where 编号<>' ' And 姓名='" & Combo1.Text & "' And 身高='" & Combo3.Text & 体重 =‘' & combo4.text & ''"

。。。。。
这样的if判断语句查询,但需要判断的层数太多,有没有其他的方法来简化这段代码,或者有其他的写法吗?
展开
 我来答
慢慢么么
2014-09-10 · TA获得超过428个赞
知道小有建树答主
回答量:374
采纳率:0%
帮助的人:227万
展开全部
你这语句写的自己都哭了吧,一般sql拼接是这么做的,我给你写个伪代码
设初始sql= "select * from 档案 where 1=1"
设combo1,2,3,4分别为4个查询条件

if Combo1.Text<>全部
then sql=sql&"and 姓名=‘"&姓名变量&“’”
......
if Combo4.Text<>全部
then sql=sql&"and 体重=‘"&体重变量&“’”,1=1在百万数量级以上会有效率问题,但小型应用可不考虑。
追问
确实写哭我了,幸亏得到您的帮助,非常感谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
powermagical
推荐于2016-07-27 · TA获得超过156个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:396万
展开全部
SQL = "select * from 档案 where 1 = 1 "
If Combo1.Text <> "全部" Then
    SQL = SQL & " and " & "姓名='" & Combo1.Text & "'"
End if
If Combo2.Text <> "全部" Then
    SQL = SQL & " and " & "年龄='" & Combo2.Text & "'"
End if
If Combo3.Text <> "全部" Then
    SQL = SQL & " and " & "身高='" & Combo3.Text & "'"
End if
If Combo4.Text <> "全部" Then
    SQL = SQL & " and " & "体重='" & Combo4.Text & "'"
End if
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-10
展开全部
Combo1.Text :=Combo1.Text='全部'?'':Combo1.Text;
Combo2.Text :=Combo2.Text='全部'?'':Combo2.Text;
Combo3.Text :=Combo3.Text='全部'?'':Combo3.Text;
Combo4.Text :=Combo4.Text='全部'?'':Combo4.Text;
select * from 档案 where 姓名 like '%Combo1.Text%' and 年龄 like '%Combo2.Text%' and 身高 like '%Combo3.Text%' and 体重 like '%Combo4.Text%';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
果子的粉丝155
2014-09-10 · 超过64用户采纳过TA的回答
知道答主
回答量:131
采纳率:100%
帮助的人:57.9万
展开全部
select * from a where b in(‘1’ , ‘2’, ‘3’) and c <> '4'
这样可以么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式