注册 登录
编程论坛 VFP论坛

如何将b表的数据追加到a表中

qinlc520000 发布于 2022-06-24 09:33, 1433 次点击
A表(成绩情况.dbf)是有身份证号、但总分是空白,B表(总成绩.dbf)有身份证号、总分两项。现欲将B表中的“总分”根据身份证号导入到A表中的“总分”中,请问如何操作?
  
    急盼达人回答,此处先行谢过!!!
9 回复
#2
sdta2022-06-24 09:45
* VFP9 代码
update a表 set a表.总分 = b表.总分 from b表 where alltrim(a表.身份证号) == alltrim(b表.身份证号)
* VFP6 代码略
#3
qinlc5200002022-06-24 11:04
语法错误 我用的vf6
#4
qinlc5200002022-06-24 11:21
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

就是把b表总分 依据身份证号 放到a表的总分里
谢过!!! 感谢版主
#5
qinlc5200002022-06-24 11:22
需要完整是命令  总做不对了
#6
sdta2022-06-24 12:02
*VFP6代码
close databases
use a表 in 0 alias aa
use b表 in 0 alias bb
select bb
scan
    update a表 set a表.总分 = bb.总分 where alltrim(a表.身份证号) == alltrim(bb.身份证号)
endscan
select aa
browse
#7
zhken2022-06-24 12:07
SELECT A表
GO top
DO WHILE .not.eof()
sfzh=ALLTRIM(身份证号)
SELECT B表
LOCATE FOR ALLTRIM(身份证号)==sfzh
IF FOUND()
zf=总分
SELECT A表
REPLACE 总分 WITH ZF
ENDIF

SELECT A表

SKIP

ENDDO



这个初学好理解
#8
大哲子2022-07-11 06:27
以下是引用sdta在2022-6-24 12:02:34的发言:

*VFP6代码
close databases
use a表 in 0 alias aa
use b表 in 0 alias bb
select bb
scan
    update a表 set a表.总分 = bb.总分 where alltrim(a表.身份证号) == alltrim(bb.身份证号)
endscan
select aa
browse

看来9还是比6方便很多啊
#9
dbf永动机2022-09-06 09:24
先把a表总分列删了,然后用下面的左连接
sele 成绩情况表.*,成绩表.总分 from 成绩情况表,成绩表 where 成绩情况表.身份证号=成绩表.身份证号
sele 成绩情况表.*,成绩表.总分 from 成绩情况表 left join 成绩表 on 成绩情况表.身份证号=成绩表.身份证号
以上两种命令都是可以的,最后copy to 新表 ,在上面命令后面加上 into dbf 新表,就直接生成查询的新表
#10
dbf永动机2022-09-06 09:27
先把a表总分列删了,然后用下面的左连接
sele 成绩情况表.*,成绩表.总分 from 成绩情况表,成绩表 where 成绩情况表.身份证号=成绩表.身份证号
sele 成绩情况表.*,成绩表.总分 from 成绩情况表 left join 成绩表 on 成绩情况表.身份证号=成绩表.身份证号
以上两种命令都是可以的,最后copy to 新表 ,在上面命令后面加上 into dbf 新表,就直接生成查询的新表
1