传奇装备地图移植:用select语句把两个表合一块

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 17:18:23
select 表1.*,表2.* from 表1,表2 where 表1.字段=表2.字段 into cursor lsk

假设有(A表 里面有字段1,2,3) (B表,字段里有4,5,6)
A和B表中其中有一个字段相同,怎么样以某个关键字段,把两个表合成一个新表,得到得结果为 C表,字段有1,2,3,4,5,6
select 表A.*,表B.* from 表A.dbf,表B.dbf where 表A.相同字段=表B.相同字段 into cursor 表C
以上我想要的是把表A中所有字段和表B中所有字段,以AB两表相同字段为关联,然后合到一块
我想在VFP中执行,该如何写啊

假设关键字段是ID

select A表.字段1,A表.字段2,A表.字段3,B表.字段4,B表.字段5,B表.字段6 into 新表名 from A表 join B表 on A表.id=B表.id

你在问题补充中写得基本正确呀,执行一下试试不就知道了?
不过改一下更好:
select 表A.*,表B.* 会把2个表中所有字段都显示出来,其中有一个是重复的,只好select 表A.*,表B.字段1,表B.字段2……

into cursor 表C 是把结果放到临时表了,这个临时表一关闭就找不到了,可改为:into table 表C

其中字段1是表1和表2相同的字段

insert into 表3 select 1,2,3 from 表1,4,5,6 from 表2 where 表1.字段1=表2.字段1

同意楼上的做法

分析如下

1.
select ... into ... from ...
==> 会新增一个与查询结果相同的表
, 且也会同时将数据新增到新表中

2.
用到join的表 , 字段前面一定要写表名 , 以明确到底取哪个表的哪个字段

3.
建议用join时 , 要明确写出是inner join 或者 left join 或 full outer join 或 right join , 尽量避免用只写join或用 from 表1,表2 的形式

4.
楼上的SQL中 , 还需改一下 , 就是将 "新表名" 改为 "C表"

create table3
.....

insert into table3
....

留名 明天来看