我有两个数据库......旧结构和新结构......
我写了一个转换器,将数据从旧的复制到新的......
我在旧数据库的一个表中的记录大约是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这个选择?
感谢未来的进展
最好的问候
答案 0 :(得分:3)
SELECT * FROM old.A WHERE old.A.name NOT IN (SELECT Name FROM new.B)
这将显示原始表格中尚未复制到新表格的所有记录。请记住,这是MySQL语法,因此您可能需要针对SQL Server 2008进行调整。
显然,这假设name
是一个唯一的列。如果不是,您可能需要在特定问题上发布更具体的详细信息。