vfp小问题(二)

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:32:05
问个vfp的问题:我有两个表,分别是A、B,A真包含于B,那么我要找出B-A那部分该怎么办?
例如,现有两个表
表A: 表B:
姓名 电话 姓名
小红 1370787**** 小红
小黑 1398878**** 小兰
小兰 1336699****
小紫 1598875****

我要建一个新表C,并且将小黑和小紫写入新表中
表C:
小黑 1398878****
小紫 1598875****

再建一个新表D
表D:
小黑 1398878****
小紫 1598875****
该怎么办???
表D是
小兰 1336699****
小红 1370787****
由于发帖的时候写错,表D应该如上写出。因为本人在某公司工作,不少软件由于设计缺陷一些问题只能用手工解决。建表多自然有其意义了。
WHITE_WIN兄弟,我是这个意思哦,不过按照你的命令用他说语法错误,是不是vfp版本问题?我用的是6.0

B-A可以这样:

close data
sele 1
use A
ine on allt(姓名) to aaa
sele 2
use B
set rela to allt(姓名) into a
copy to C for eof(1)
copy to D for !eof(1)

说明:
在A区即1区打开A表,并按姓名(关键字)索引
在B区即2区打开B表,并按关键字姓名连动到A区
把B区不存在的记录拷贝到C表
把B区存在的记录拷贝到D表。

建这么多表用意何在?C、D表重复。
表A只有字段姓名?

1.生成表C
select * into 表C from 表B WHERE 姓名+电话 not in (select 姓名+电话 from 表A )
2. 生成表D
select * into 表D from 表B WHERE 姓名+电话 in (select 姓名+电话 from 表A )

是这意思吧?