| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1809 人关注过本帖
标题:组合查询
取消只看楼主 加入收藏
ghelycao
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-3-29
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:4 
组合查询

图片附件: 游客没有浏览图片的权限,请 登录注册


各位大神,在附件的表中,当在A,B,C中任意输入数据后点查询,查询满足A值在A下限和A上限之间、B在B上限和B下限之间、C在C下限和上限之间。且A,B,C可以为空值。请问代码如何写啊。
搜索更多相关主题的帖子: 组合 查询 数据 为空 代码 
2018-04-19 20:41
ghelycao
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-3-29
收藏
得分:0 
比如在A中输入一个值,如果这个值在表中A的下限和A的上限范围内,则输出满足条件的记录,同理B,C一样。且A,B,C是并的关系,不是或的关系。但是如果B或C中为空值时,则忽略B,C的条件限制。
2018-04-19 21:56
ghelycao
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-3-29
收藏
得分:0 
回复 4楼 mywisdom88
A,B,C中其中一个或多个为空时,则该空值不作为查询条件。如果采用or的话,则查询结果不同
2018-04-24 21:06
ghelycao
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-3-29
收藏
得分:0 
回复 6楼 mywisdom88
非常感谢版主的答复,如何将查询结果输出到一个临时表中(VFP9),我试了一下,结果不对。仅仅最后的代码做了修改。代码如下:
cWhere = ""
if !empty(a值)
   cWhere = "between(a值,a下限,a上限)"
endif
if !empty(b值)
   cWhere = iif(empty(cWhere),"between(b值,b下限,b上限)", cWhere + " and between(b值,b下限,b上限)")
endif
if !empty(c值)
   cWhere = iif(empty(cWhere),"between(c值,c下限,c上限)", cWhere + " and between(c值,c下限,c上限)")
endif
if !empty(cWhere)
   cWhere = " where " + cWhere
endif

SELECT * FROM 表名 cWhere into cursor 临时表
thisform.grid1.recordsource="临时表"


2018-05-02 20:40
ghelycao
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2018-3-29
收藏
得分:0 
回复 9楼 mywisdom88
已解决,谢谢版主的详细讲解,非常感谢!通过版主的讲解,我觉得以后各类查询都不是问题了,
2018-05-05 11:25
快速回复:组合查询
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018209 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved