标题:纵向比较,上下记录相同,则在顺序号字段中填上数值?
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用sylknb在2017-8-17 11:18:12的发言:

吹水佬:
SCAN  
    REPLACE tmp.顺序号 WITH tmp.顺序号+1
    REPLACE tt.顺序号 WITH tmp.顺序号
ENDSCAN
 
还是不理介?环循开始时TT第一条记录的顺序号用TMP第一条顺序号来替换,,环循下移后tmp的顺序号为2,为什么TT中的第二条记录(编号221)的顺序号为1而不是2?

分步来看看,应该能明。
2017-08-17 11:42
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
吹水佬班主
:
上图有点明白了,
再请教一下为什么:SELECT DISTINCT * FROM tt INTO CURSOR tmp 中要加distinct ?
为了直观一点,现我改为  SELECT  * FROM tt INTO table  tmp
程序运行后产生的tmp 的内容:[attach]90874[/attach]
与你图好象不附。

[此贴子已经被作者于2017-8-17 12:47编辑过]

2017-08-17 12:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用sylknb在2017-8-17 12:45:15的发言:
再请教一下为什么:SELECT DISTINCT * FROM tt INTO CURSOR tmp 中要加distinct ?
为了直观一点,现我改为  SELECT  * FROM tt INTO table  tmp
程序运行后产生的tmp 的内容:
与你图好象不附。

SELECT -- SQL 命令可以参考VFP帮助。
DISTINCT 就是唯一性,没有相同的。
INTO table tmp 查询结果生成一个磁盘文件的自由表。
SELECT DISTINCT * 与 SELECT  * 结果有可能不同的。
2017-08-17 14:09
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
以下是引用吹水佬在2017-8-17 14:09:37的发言:

 
SELECT -- SQL 命令可以参考VFP帮助。
DISTINCT 就是唯一性,没有相同的。
INTO table tmp 查询结果生成一个磁盘文件的自由表。
SELECT DISTINCT * 与 SELECT  * 结果有可能不同的。
吹班:
可能我表达不清,为什么要加distinct这个句子?若不加可行吗?
2017-08-17 14:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用sylknb在2017-8-17 14:28:33的发言:

吹班:
可能我表达不清,为什么要加distinct这个句子?若不加可行吗?

就是唯一性,没有相同的记录。
对这个问题来说,无需要相同重复的记录。不加distinct虽然对结果无影响,但表数据记录多了会占用资源和影响运算速度。
tmp只是用来统计tt重复相同记录出现的次数。

[此贴子已经被作者于2017-8-17 14:38编辑过]

2017-08-17 14:34
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
谢谢吹班,不烦其烦指教!名至实归。
2017-08-17 14:39



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




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

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