标题:请教,select .... where 字段 in () 宏替换的问题
只看楼主
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
得分:0 
回复 10楼 sdta
这样肯定没问题,关键是如何宏替换
jj1=''
jj2=''
jj3='秋‘
jj4=’冬‘
jj5=''
jj6=''
2018-10-14 13:13
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
在表单中?还是在PRG中?

坚守VFP最后的阵地
2018-10-14 13:24
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
得分:0 
表单中
2018-10-14 13:25
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
用CASE ENDCASE 命令试试

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


坚守VFP最后的阵地
2018-10-14 13:26
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
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
不就6个条件吗

坚守VFP最后的阵地
2018-10-14 13:42
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
表单长什么样子

坚守VFP最后的阵地
2018-10-14 13:43
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
得分:0 
我主要是想学习一下如何用宏来替换,如果是值比较多的情况,这样的写法太繁琐了,特别是还要和其他的表做复合查询
2018-10-14 13:50
fhxy123
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-9-5
得分:0 
如果是宏来替换,一条语句就完成
select * from 基础信息 where allt(信息名称) in(宏)into cursor ls
2018-10-14 13:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490367-1-1.html




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

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