VFP 多表查询
现在有 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)ENDFORCREATE CURSOR TABB (姓名 C(8),年龄 N(2))FOR I=6 TO 10 INSERT INTO TABB VALUES (REPLICATE(CHR(64+I),6),I+20)ENDFORCREATE CURSOR TABC (姓名 C(8),年龄 N(2))FOR I=11 TO 15 INSERT INTO TABC VALUES (REPLICATE(CHR(64+I),6),I+20)ENDFORCREATE CURSOR TABD (姓名 C(8),年龄 N(2))FOR I=16 TO 20 INSERT INTO TABD VALUES (REPLICATE(CHR(64+I),6),I+20)ENDFORSELECT 姓名 FROM TABA UNION ALL SELECT 姓名 FROM TABB UNION ALL SELECT 姓名 FROM TABC UNION ALL SELECT 姓名 FROM TABD INTO TABLE ABCD*---2.合并后增加字段SELECT ABCDALTER TABLE 表A ADD 部门 C(10)
[解决办法]
严格地讲,你应该分别在A,B,C,D各个表中添加字段“部门”而且输入字段的值,然后再使用 UNION把4张表合成一张表,这样“部门”输入方便(同一表部门相同)。而且先合并(UNION),部门不同,但是同名同姓同年龄的记录将合并成一个记录,因为关系数据库中的一张表不允许有相同的记录(重复记录会自动防止)。