现在有 A B C D 4个表
怎么同时查询呢
查询一个内容 在 4个表中
------解决方案--------------------------------------------------------
用 vfp9 + 1楼方法
如果是 vfp6,需要将4个表先合成1个表,然后再对合成的表进行查询,如:
select f1 from a;
union all;
select f1 from b;
union all;
select f1 from c;
union all;
select f1 from d;
into table newtable
select * from newtable where ...
------解决方案--------------------------------------------------------
*---VFP6.0代码
*---1.查询
CREATE CURSOR TABA (姓名 C(8),年龄 N(2))
FOR I=1 TO 5
INSERT INTO TABA VALUES (REPLICATE(CHR(64+I),6),I+20)
ENDFOR
CREATE CURSOR TABB (姓名 C(8),年龄 N(2))
FOR I=6 TO 10
INSERT INTO TABB VALUES (REPLICATE(CHR(64+I),6),I+20)
ENDFOR
CREATE CURSOR TABC (姓名 C(8),年龄 N(2))
FOR I=11 TO 15
INSERT INTO TABC VALUES (REPLICATE(CHR(64+I),6),I+20)
ENDFOR
CREATE CURSOR TABD (姓名 C(8),年龄 N(2))
FOR I=16 TO 20
INSERT INTO TABD VALUES (REPLICATE(CHR(64+I),6),I+20)
ENDFOR
SELECT 姓名 FROM TABA UNION ALL SELECT 姓名 FROM TABB UNION ALL SELECT 姓名 FROM TABC UNION ALL SELECT 姓名 FROM TABD INTO TABLE ABCD
*---2.合并后增加字段
SELECT ABCD
ALTER TABLE 表A ADD 部门 C(10)
------解决方案--------------------------------------------------------
严格地讲,你应该分别在A,B,C,D各个表中添加字段“部门”而且输入字段的值,然后再使用 UNION把4张表合成一张表,这样“部门”输入方便(同一表部门相同)。而且先合并(UNION),部门不同,但是同名同姓同年龄的记录将合并成一个记录,因为关系数据库中的一张表不允许有相同的记录(重复记录会自动防止)。