前进的道路不是一帆风顺的,要随时迎接挑战,敢于战胜困难!

坚持一下,找人聊聊天,释放一些压力!

 

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中再合并也可以
问题补充: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.地址)


两种写法效率不一样,要看你表中数据量情况了。

posted on 2008-08-23 11:40  山径山精  阅读(595)  评论(0编辑  收藏  举报

导航