| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5188 人关注过本帖
标题:大神们,求助啊!两个表中查找相同的数据——姓名!
只看楼主 加入收藏
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
回复 30楼 sdta
我不是这样的目的
可能您还没有明白我的意思
我是想找到两张表中相同字段的相同记录

是要找到学生表中的姓名在毕业生总表中出现的位置,不是找到重复的次数
2021-05-15 08:53
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
select a.* from 毕业生总表 a INNER join 学生表 b on a.xm=b.xm

找到一条语句可以完成我的要求,只是没有我的表单好用,因为没法显示序号
我是想要查询到的表顺序和学生表里的顺序一至,我好进行其他的操作
2021-05-15 09:19
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1064
专家分:2579
注 册:2015-12-30
收藏
得分:1 
学生表中的 3个陈浩序号不一样,这样更改总表中的2个陈浩就可以体现出学生表中所有陈浩的序号了
这句话真不理解

就拿陈浩来说,
1.总表里的两个陈浩的序号应该是不一样的吧?
2.学生表里第三个陈浩的“标记”应该是“没有”
是这样的吗?
2021-05-15 09:48
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1064
专家分:2579
注 册:2015-12-30
收藏
得分:3 

CLOSE DATABASES

LOCAL xxh
USE 毕业生总表 IN 0

SELECT 毕业生总表
REPLACE ALL 序号 WITH ''
INDEX ON xm+序号 TO 毕业生总表

USE 学生表 IN 0
SELECT 学生表
SET RELATION TO xm INTO 毕业生总表

SCAN
    xxh = ALLTRIM(序号)
    SELECT 毕业生总表
    IF !EOF() AND EMPTY(序号)
        REPLACE 序号 WITH xxh
    ELSE
        SELECT 学生表
        REPLACE 标记 WITH '没有'
    ENDIF
    SELECT 学生表
ENDSCAN

SELECT * FROM 毕业生总表 ORDER BY xm
SELECT * FROM 学生表 ORDER BY xm

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

图片附件: 游客没有浏览图片的权限,请 登录注册
2021-05-15 09:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10541
专家分:42934
注 册:2014-5-20
收藏
得分:3 
是不是这样子
图片附件: 游客没有浏览图片的权限,请 登录注册

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

程序代码:
SELECT 0
USE 学生表 ALIAS a
BLANK FIELDS 标记 ALL 
SELECT 0
USE 毕业生总表 ALIAS b
BLANK FIELDS 序号 ALL
INDEX on 序号+xm TAG 序号_xm
n = FSIZE("序号","b")
SELECT a 
SET RELATION TO SPACE(n)+xm INTO "b"
SCAN 
    IF FOUND("b")
        REPLACE b.序号 WITH PADL(a.序号,n," ") IN "b"
    ELSE
        REPLACE a.标记 WITH "没有" IN "a"
    ENDIF
ENDSCAN
SELECT 序号,xm FROM b WHERE !EMPTY(序号) ORDER BY xm
SELECT 标记,xm,序号 FROM a ORDER BY xm
2021-05-15 10:55
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
回复 33楼 laowan001
图片附件: 游客没有浏览图片的权限,请 登录注册

我这样手画了一个图,可以看明白我的意思了吗

就是想要在毕业生总表里标注上所有学生表中相同姓名的序号就可以了
2021-05-15 11:53
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
回复 35楼 吹水佬
非常感谢!非常感谢!非常感谢!
基本是我想要的样子
这 样的操作我就可以使用了!
多谢,多谢!

只不过我那个表单,一个网友说加一个CONTINUE命令就可以了,可是我完全不会写代码不知道往哪 里加
2021-05-15 11:57
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
回复 34楼 laowan001
非常感谢!非常感谢!非常感谢!这 样也是可以的,我也可以用
只不过如果可以是
毕业生总表中的姓名更改后的序号是这样的就完美了

   学生表                        毕业生总表
标记    序号   xm              序号           xm
        444    陈浩          444,685,701   陈浩
        685    陈浩          444,685,701   陈浩
        701    陈浩


[此贴子已经被作者于2021-5-15 12:05编辑过]

2021-05-15 11:59
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
各位帅帅的帅哥,漂漂的美女
我亲爱的网友们:
刚刚我实现啦~~~原来加一下continue就可以实现继续循环了
一点点小东西实现的东西完全不一样
感谢各位的回复,真的是非常非常的感谢!感谢你们无私的帮助
你们写的代码太太太太牛了!我己经记下来,供以后工作中使用了!
我运行后是这样的结果,始终描述不清楚
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
local a,b,i,num
sele 1
b=thisform.text1.value
use &b alias bb


sele 2
a=thisform.text2.value
use &a alias aa


i=0
j=0
sele 2
do while .not.eof()
   ly=xm
   sele 1
   locate for xm=ly
   if found()
      repl bb.序号 with ALLTRIM(bb.序号)+','+ALLTRIM(aa.序号)
      i=i+1
      CONTINUE
    else 
        sele 2
        repl 标记 with '没有' 
       
        j=j+1
   endif
   sele 2
  skip 
  enddo  
  sele 1
  use
  sele 2
  use
  ?i
2021-05-15 12:17
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
这里专门写上感谢的话语,有四位热心仗义的网友一直在认真的帮我想,帮我写代码,帮我思考,帮我回贴,非常非常非常的感动!
感谢这些素未谋面的网友们!!!
2021-05-15 12:25
快速回复:大神们,求助啊!两个表中查找相同的数据——姓名!
数据加载中...
 
   



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

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