求两表合并实例!初学者拜托各位大神。。。 10C

表A
林场 村 林班 小班 面积 地类 林种
一场 红村 001 111 10 纯林 防风固沙
一场 红村 001 222 11 纯林 防风固沙
二场 黑村 002 002 3 疏林地 防风固沙
二场 白村 003 003 4 疏林地 防风固沙

表B
乡 村 林班 小班 面积 权属
一场 红村 001 222 11 国有
二场 黑村 002 002 3 集体

A表的前四列数据包含B表的前四列数据
我想将表A和表B合并成表C:
乡 村 林班号 小班号 面积 权属 地类 林种

就是C表包含A,B表的所有列,有何种简便的方法?是先建C表然后插入A,B还是直接合并?A,B两表相同列的数据类型相同,请给出实例语句

我用ODBC数据源连接DBF数据库,因为涉及Arcgis

5个回答

qq_18408527
小乙2018 要求附加条件的就是:B表的乡,村,林班,小班四列等于A表的林场,村,林班,小班
一年多之前 回复

你不需要再创建一个表C,只需要进行创建一个视图即可。

CREATE VIEW view_c AS
SELECT column_name(s)
FROM a join b
on a.林场=b.林场 and a.村=b.村 and...

后续view_c就可以当做创建的表一样操作了。

关键在于a和b表的数据集是否一致,如果一致那么如上即可。如果不一致,那么考虑用是否需要用left join或者right join找到全集。

如果数据量很大,考虑基于on条件创建一个联合索引。

PS,DBF数据库是什么数据库?

qq_18408527
小乙2018 是的,可以建关联,不过我已经使用union加条件连接A,B,就是字段有点多。。DBF是DF4表,也是ArcGis导出的
一年多之前 回复

C表是最终要拿出来应用并转换代码的,所以必须要建出来啊

必须要合并表的话,那就用下面的试试,表和数据可以同时拿到:

create table c as select a.lin, a.cun, a.ban, a.linzhong, b.quanshu from a,b where a.lin=b.lin and a.cun=b.cun and a.ban=b.ban;

select 里面把你需要的其他字段都带上。

先建C表,然后,把A表和B表数据查出来,插入C表

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!