admin

同一服务器但具有相同表名的不同数据库之间的数据映射

sql

嗨,我被困在这里,需要您的建议。我有一台具有多个数据库的服务器。现在我想映射一个1 db的表中的数据是否等于另一个具有相同表名的db中的数据

谁能建议该怎么做?提前感谢


阅读 206

收藏
2021-07-01

共1个答案

admin

取决于您需要映射的内容。如果您只想通过主键了解差异,则可以尝试对PK进行完全联接,这样它将告诉您A上存在但B上不存在的记录以及B上但是A上不存在的记录。

create table DB_A(id int)
create table DB_B(id int)

insert into DB_A values (1)
insert into DB_A values (2)

insert into DB_B values (2)
insert into DB_B values (3)

select DB_A.ID as 'Exists on A but not on B', DB_B.id as  'Exists on B but not on A'
from DB_A full join DB_B on DB_A.id=DB_B.id 
where DB_A.id is null or DB_B.id is null

如果您还需要比较所有列的值,那么建议您使用数据比较工具。仅使用SQL这样做就不会那么棘手了

2021-07-01