| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4848 人关注过本帖
标题:请教,select .... where 字段 in () 宏替换的问题
取消只看楼主 加入收藏
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:13 
请教,select .... where 字段 in () 宏替换的问题
cjj='秋,冬'

select * FROM 基础信息 WHERE ALLTRIM(信息名称) in (cjj) INTO CURSOR ls

请教,这个查询出的结果只有第一个秋的,这个宏替换要怎么写,谢谢
搜索更多相关主题的帖子: 宏的 select where 字段 替换 
2018-10-14 10:33
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
筛选出满足条件的数据,比如:春、夏、秋、冬,春夏、秋冬,条件只包含其中的几个
这样说清楚了吗
2018-10-14 11:04
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
基础信息.dbf
信息类别    信息名称
季节   
季节   
季节   
季节   
季节    春夏
季节    秋冬

if thisform.check1.value=1
   jj1=''
   else
     jj1='春'
endif

if thisform.check2.value=1
   jj2=''
   else
     jj2='夏'
endif

if thisform.check3.value=1
   jj3=''
   else
     jj3='秋'
endif

if thisform.check4.value=1
   jj4=''
   else
     jj4='冬'
endif

if thisform.check5.value=1
   jj5=''
   else
     jj5='春夏'
endif

if thisform.check6.value=1
   jj6=''
   else
     jj6='秋冬'
endif

[此贴子已经被作者于2018-10-14 12:17编辑过]

2018-10-14 12:16
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
回复 5楼 sdta
这个用不了吧
2018-10-14 12:16
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
回复 8楼 sdta
基础信息.dbf
信息类别    信息名称
季节   
季节   
季节   
季节   
季节    春夏
季节    秋冬

这个就是表数据啊
2018-10-14 13:00
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
回复 10楼 sdta
这样肯定没问题,关键是如何宏替换
jj1=''
jj2=''
jj3='秋‘
jj4=’冬‘
jj5=''
jj6=''
2018-10-14 13:13
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
表单中
2018-10-14 13:25
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
我是要在表里查询符合条件的记录,用CASE ENDSCAN 没有用吧,我现在有比较麻烦的办法,就是对每个值用一条查询语句,然后再union all
2018-10-14 13:31
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
这样太繁琐,我想优化代码

select * from 基础信息 where allt(信息名称)==jj1;
union all;
select * from 基础信息 where allt(信息名称)==jj2;
union all;
select * from 基础信息 where allt(信息名称)==jj3;
union all;
select * from 基础信息 where allt(信息名称)==jj4;
union all;
select * from 基础信息 where allt(信息名称)==jj5;
union all;
select * from 基础信息 where allt(信息名称)==jj6;
into cursor ls
2018-10-14 13:38
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
收藏
得分:0 
我主要是想学习一下如何用宏来替换,如果是值比较多的情况,这样的写法太繁琐了,特别是还要和其他的表做复合查询
2018-10-14 13:50
快速回复:请教,select .... where 字段 in () 宏替换的问题
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019552 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved