易语言操作ACCESS多个查询选项查询 10

5个查询项每一项有两种可能1用户输入的数据2.空值。表中的数据也是每一项都有可能是空值要求如果查询项中用户输入有数据则返回表中相应的数据或该项为空的数据,不输入数据则返回... 5个查询项 每一项有两种可能 1 用户输入的数据 2.空值。
表中的数据也是每一项都有可能是空值

要求如果查询项中用户输入有数据则返回表中相应的数据或该项为空的数据,不输入数据则返回所有值

这样的SQL语句怎么写啊
展开
 我来答
stwqa
2012-11-05 · TA获得超过1262个赞
知道小有建树答主
回答量:1167
采纳率:0%
帮助的人:611万
展开全部
这个问题当初想了很久,网上也找了没人告诉我。后来自己想出来的。给你参考下吧。
请看...

SQL中:select * from 表名 where 某字段 like 查询值1 and 某字段 like 查询值2 and 某字段 like 查询值3 and 某字段 like 查询值4 and 某字段 like 查询值5

在易中:可以用变量,当用户输入的数据是空值时
如果(查询值1=“”)
则 条件1=“”
否则 条件1=“ and 某字段1 like 查询值”

如果(查询值2=“”)
则 条件2=“”
否则 条件2=“ and 某字段2 like 查询值2”

如果(查询值3=“”)
则 条件3=“”
否则 条件3=“ and 某字段3 like 查询值3”

如果(查询值4=“”)
则 条件4=“”
否则 条件4=“ and 某字段4 like 查询值4”

如果(查询值5=“”)
则 条件5=“”
否则 条件5=“ and 某字段5 like 查询值5”

不知道你用易是用何种方法连接数据库,那我这里只说SQL命令。
SQL="select * from 表名 where" + 条件1 + 条件2 + 条件3 + 条件4 + 条件5

原理就是用户查询值如果是空就不参与SQL查询条件,否则就查询条件。

身边没装易。所以不能复制哦。 全部手打的答案哦。
追问
这种思路我也想到了,不过语句跟你的不太一样。为空的时候应该是 = “%”  。但是还存在一个问题,如果表中某一个字段值为空,那么查询的时候就不能查到。 不知道是不是语句写的有问题 回去再研究下。 多谢大神! 还望继续赐教
追答
我上面所提的那些语句已经避免了没有填条件就会查不到的情况。

例如你看
如果(查询值1=“”)
则 条件1=“”
否则 条件1=“ and 某字段1 like 查询值”

如果查询值1是空的话那么 条件1也是空,这样的话
SQL语句中="select * from 表名 where" + 条件1 + 条件2 + 条件3 + 条件4 + 条件5
条件1实际上什么也没有,也就是说直接跳过了条件1。

你用这个方法就可以的,我试过很多次。

你提到如果查询值1="" 则 条件1=“%” 这样的话
SQL语句中="select * from 表名 where" + “%” + 条件2 + 条件3 + 条件4 + 条件5
就变成这样了,你用这样的语句在SQL中可以正常查询吗? 应该什么都查不到吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式