| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 991 人关注过本帖
标题:如何查找另一个表中符合的记录赋值到本表
取消只看楼主 加入收藏
wzyuehua
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-19
结帖率:0
收藏
已结贴  问题点数:10 回复次数:4 
如何查找另一个表中符合的记录赋值到本表
有两个数据表,A数据表字段为学号、成绩,B数据表字段是学号、姓名,我想根据学号,将B表中的姓名字段记录加到A表中。A表记录有6万多条,B表有9000多条,我用loca 定位,用repl 赋值,结果死机了。有高手给个意见吗?
搜索更多相关主题的帖子: 数据表 记录 如何 9000 姓名 
2013-10-19 09:54
wzyuehua
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-19
收藏
得分:0 
回复 2楼 sdta
原表要补充完整,因为姓名字段来自多个表,就是说A表6万多行记录中的姓名来自多个文件,我要把多个文件中的姓名字段通过对应的学号填到A表中。能再详细点吗?谢谢。
2013-10-19 12:35
wzyuehua
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-19
收藏
得分:0 
以下是引用sdta在2013-10-19 10:29:05的发言:

原表最好不好动,可以生成一个临时表供查询使用。
VFP9代码:
SELECT A.*,SPACE(10) 姓名 FROM 表A INTO CURSOR T RADEWRITE
UPDATE 表A SET 表A.姓名=表B.姓名 WHERE 表A.学号=表B.学号 FROM 表B

原表要补充完整,因为姓名字段来自多个表,就是说A表6万多行记录中的姓名来自多个文件,我要把多个文件中的姓名字段通过对应的学号填到A表中。能再详细点吗?谢谢。
2013-10-19 12:36
wzyuehua
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-19
收藏
得分:0 
以下是引用sdta在2013-10-19 13:04:22的发言:

VFP9代码:
UPDATE 表A SET 表A.姓名=表B.姓名 WHERE 表A.学号=表B.学号 FROM 表B

不明白的地方看VFP帮助文件

谢谢,搞定了。
2013-10-19 16:32
wzyuehua
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-19
收藏
得分:0 
以下是引用taifu945在2013-10-19 13:50:45的发言:

我看你在顶楼给出的A表结构中没有“姓名”字段,而在4、5楼,发现你说“A表6万多行记录中的姓名来自多个文件”,不晓得你那A表原来是否有“姓名”字段?我分有和没有两种情况给出9.0版本的代码:
A表没有“姓名”字段:                              A表有“姓名”字段:
SELECT A.学号,B.姓名,A.成绩 ;                      UPDATE A SET 姓名=B.姓名 FROM B WHERE A.学号=B.学号
   FROM A JOIN B ;
      ON A.学号=B.学号 ;
   INTO TABLE AA
USE IN A
USE IN AA
ERASE A.DBF
RENAME AA.DBF TO A.DBF

如果你获取“姓名”数据的表文件有多个,可参考如下做法(假设是两个取“姓名”数据的表文件B和C):
A表没有“姓名”字段:                              A表有“姓名”字段:
SELECT A.学号,B.姓名,A.成绩 ;                      UPDATE A SET 姓名=T1.姓名 ;
   FROM A ;                                           FROM (SELECT * FROM B UNION SELECT * FROM C) T1 ;
      JOIN B ON A.学号=B.学号 ;                       WHERE A.学号=T1.学号
      JOIN C ON A.学号=C.学号 ;                    
   INTO TABLE AA
      ...
      ...

A表我已经增加姓名字段了,update 前要先索引吗?提示更了N条记录,但都还是空的。怪
2013-10-19 16:52
快速回复:如何查找另一个表中符合的记录赋值到本表
数据加载中...
 
   



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

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