| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2960 人关注过本帖
标题:求循环套循环,两个表相同字段比较
只看楼主 加入收藏
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
结帖率:100%
收藏
已结贴  问题点数:90 回复次数:14 
求循环套循环,两个表相同字段比较
各位老师好!
发过去3个表。我的想法是:
  用分列统计15期表里的N1字段的最后一行的值,与3d999个数表里的N1的值(1000个记录)逐个比较。相等的,在3d选个数表里的N1字段记1(1000行中有几个相等的就记几),不相等的记0.
  用分列统计15期表里的N2字段的最后一行的值,与3d999个数表里的N2的值(1000个记录)逐个比较。相等的,在3d选个数表里的N2字段记1(1000行中有几个相等的就记几),不相等的记0.
.........
  用分列统计15期表里的N190字段的最后一行的值,与3d999个数表里的N190的值(1000个记录)逐个比较。相等的,在3d选个数表里的N190字段记1(1000行中有几个相等的就记几),不相等的记0.

这是个循环套循环的程序。我只有大概思路。具体到写代码就不会了。恳请各位老师帮助。

3d选个数表里的3行记录,是我用select n1 from 3d999个数 where n1=xxx  执行190次,手工填上去的。每执行一次,n后面的数字和=后面的数字都得改动。

分列统计15期.zip (613.25 KB)

3d999个数.zip (20.56 KB)

3d9选个数.zip (1.49 KB)
搜索更多相关主题的帖子: 相等 字段 表里 个数 循环 
2021-06-05 09:53
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:20 
程序代码:
CLOSE DATABASES 
t1 = SECONDS()
USE d3选个数 && 原名:3d9选个数
ZAP 
lcZd = ""
FOR lnj = 1 TO AFIELDS(azds)
    lcZd = lcZd + "," + azds[lnj, 1]
ENDFOR
lcZd = SUBSTR(lcZd, 2)

SELECT &lcZd FROM 分列统计15期 WHERE RECNO() = RECCOUNT() INTO ARRAY afl
USE
lcZd1 = SUBSTR(lcZd, 7)
SELECT &lcZd1 from d3_999个数 INTO CURSOR temp
INSERT INTO d3选个数 (Qihao) values(afl[1])
FOR lnj = 2 TO ALEN(afl)
    SELECT temp
    lc = FIELD(lnj - 1)
    COUNT TO nCnt FOR &lc = afl[lnj]
    REPLACE (lc) WITH nCnt RECORD 1 IN d3选个数
ENDFOR
? SECONDS() - t1
SELECT d3选个数
BROWSE 

坚守VFP最后的阵地
2021-06-05 11:17
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 2楼 sdta
sdta老师你好!
代码看了。有不懂的地方,还要请教。
运行一下,结果是只有qihao在d3选个数表中有数字显示,n1到n190为空。不知为什么?
2021-06-05 13:11
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 2楼 sdta
另外,我把zap清空命令前加了*,因为d3选个数表里的数据需累计,每一行的数据都要保存。
2021-06-05 13:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:0 
以下是引用yd1954在2021-6-5 13:11:36的发言:

sdta老师你好!
代码看了。有不懂的地方,还要请教。
运行一下,结果是只有qihao在d3选个数表中有数字显示,n1到n190为空。不知为什么?

d3选个数.rar (368 Bytes)

坚守VFP最后的阵地
2021-06-05 13:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
SELECT * FROM 3d9选个数 WHERE .F. INTO CURSOR tmp READWRITE 
SELECT tmp
APPEND FROM 分列统计15期 FOR RECNO()==RECCOUNT()
SCATTER TO arr
ZAP
APPEND FROM 3d999个数
DIMENSION atj[ALEN(arr)] 
STORE 0 TO atj
n = FCOUNT()
atj[1] = arr[1]
SCAN 
    SCATTER TO ar
    FOR i=2 TO n
        IF ar[i]==arr[i]
            atj[i] = atj[i] + 1
        ENDIF
    ENDFOR
ENDSCAN
ZAP
APPEND FROM ARRAY atj
SELECT * FROM tmp


[此贴子已经被作者于2021-6-5 14:51编辑过]

2021-06-05 14:44
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 6楼 吹水佬
吹水佬老师,你好!
代码看了,也运行了。
但是,运行结果只显示为查询,并没有写在3d9选个数表的最后一行。能否请老师帮助,将运行结果写在3d9选个数表的最后一行。
这个结果需要一行一行积累,因此,3d9选个数表不能清空。谢谢。
2021-06-05 17:01
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 5楼 sdta
d3选个数1.zip (1.46 KB)
2021-06-05 17:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用yd1954在2021-6-5 17:01:36的发言:

吹水佬老师,你好!
代码看了,也运行了。
但是,运行结果只显示为查询,并没有写在3d9选个数表的最后一行。能否请老师帮助,将运行结果写在3d9选个数表的最后一行。
这个结果需要一行一行积累,因此,3d9选个数表不能清空。谢谢。

结果在tmp临时表
要放进“3d9选个数表”就 APPEND 进去
2021-06-05 17:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:0 
d3选个数.rar (433.15 KB)

坚守VFP最后的阵地
2021-06-05 17:28
快速回复:求循环套循环,两个表相同字段比较
数据加载中...
 
   



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

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