SQL2000不同数据库的表合并问题
数据库的合并问题
我的是acc数据库,2个数据库的表,结构都是一样的
列如: 第一个数据库中有个表 house
ID(自动编号) 姓名 号码 地址
1 张一 001 一区
2 张二 002 一区
3 张三 003 二区
第二个数据库中也有个表 house
ID(自动编号) 姓名 号码 地址
1 张三 003 二区
2 张四 005 一区
3 张五 006 二区
目的:想合并到1个数据库中,并没有重复的信息
合并后应该是
ID(自动编号) 姓名 号码 地址
1 张一 001 一区
2 张二 002 一区
3 张三 003 二区
4 张四 005 一区
5 张五 006 二区
请问下SQL语句该怎么写,或者手动有什么好方法也可以
因为数据比较大,如果那位高手有SQL数据库的合并方法,把数据导入到SQL中再合并也可以
问:
列如: 第一个数据库中有个表 house
ID(自动编号) 姓名 号码 地址
1 张一 001 一区
2 张二 002 一区
3 张三 003 二区
第二个数据库中也有个表 house
ID(自动编号) 姓名 号码 地址
1 张三 003 二区
2 张四 005 一区
3 张五 006 二区
目的:想合并到1个数据库中,并没有重复的信息
合并后应该是
ID(自动编号) 姓名 号码 地址
1 张一 001 一区
2 张二 002 一区
3 张三 003 二区
4 张四 005 一区
5 张五 006 二区
请问下SQL语句该怎么写,或者手动有什么好方法也可以
因为数据比较大,如果那位高手有SQL数据库的合并方法,把数据导入到SQL中再合并也可以
问题补充:1楼的,你能把代码写的更详细一点吗?关键2个库都要连接的话,我不知该怎么写了
答:
这个直接可以用left join
insert into 数据库1.dbo.house(姓名,号码,地址)
select a.姓名,a.号码,a.地址
from 数据库2.dbo.house a left join 数据库1.dbo.house b
on a.姓名=b.姓名 and a.号码=b.号码 and a.地址=b.地址
where b.姓名 is null
或者
insert into 数据库1.dbo.house(姓名,号码,地址)
select a.姓名,a.号码,a.地址
from 数据库2.dbo.house a
where not exists(select * from 数据库1.dbo.house where 姓名=a.姓名 and 号码=a.号码 and 地址=a.地址)
两种写法效率不一样,要看你表中数据量情况了。
insert into 数据库1.dbo.house(姓名,号码,地址)
select a.姓名,a.号码,a.地址
from 数据库2.dbo.house a left join 数据库1.dbo.house b
on a.姓名=b.姓名 and a.号码=b.号码 and a.地址=b.地址
where b.姓名 is null
或者
insert into 数据库1.dbo.house(姓名,号码,地址)
select a.姓名,a.号码,a.地址
from 数据库2.dbo.house a
where not exists(select * from 数据库1.dbo.house where 姓名=a.姓名 and 号码=a.号码 and 地址=a.地址)
两种写法效率不一样,要看你表中数据量情况了。