两个不同的数据库(数据从另一个数据库中复制)并比较它们的数据

时间:2010-12-25 23:59:30

标签: database sql-server-2008 comparison field

我有两个数据库......旧结构和新结构......

我写了一个转换器,将数据从旧的复制到新的......

我在旧数据库的一个表中的记录大约是100000 (旧数据库中的表A - >新数据库中的表B)

我的问题是,当数据被复制到新数据库时,源表和目标表中的记录数不相等,因为我的转换器/平均值的条件:

(旧数据库中的表A = 100000->新数据库中的表B = 98000)

你能告诉我怎样才能编写一个查询,向我展示表A中但不在表B中的那些记录//

表A& B有不同的结构/但是他们的一些字段用不同的名称映射我应该使用这些字段4选择......

意思是这样的:

use old,new
select * from old.A
where
old.A.name <> new.B.Name
and
old.A.pey <> new.B.Pay
and
old.A.num <> new.B.Amount

但sql server /中的上层代码不正确(语法)是否有任何方式4这个选择?

感谢未来的进展

最好的问候

1 个答案:

答案 0 :(得分:3)

SELECT * FROM old.A WHERE old.A.name NOT IN (SELECT Name FROM new.B)

这将显示原始表格中尚未复制到新表格的所有记录。请记住,这是MySQL语法,因此您可能需要针对SQL Server 2008进行调整。

显然,这假设name是一个唯一的列。如果不是,您可能需要在特定问题上发布更具体的详细信息。