3

我需要将两个表数据与一个数据库中的数据进行比较。使用表中的某些列匹配数据。

将这些额外的行数据存储到另一个名为“relationaldata”的表中。当我被搜索时,发现了一些解决方案。

但这对我不起作用 http://weblogs.sqlteam.com/jeffs/archive/2004/11/10/2737.aspx

任何人都可以帮助如何做到这一点。如何使用 redgate(Tool) 将两个表数据与一个数据库中的数据进行比较?

4

2 回答 2

4

Red Gate SQL 数据比较允许您将同一数据库中的两个表映射在一起,前提是这些列是兼容的数据类型。您只需将相同的数据库放在源和目标中,然后转到“对象映射”选项卡,取消映射两个表,并将它们映射在一起。

数据比较过去使用 UNION ALL,但它会填满 tempdb,如果表的行数很高,就会发生这种情况。它现在使用数据缓存完成本地硬盘上的所有“连接”。

于 2013-07-19T10:37:25.873 回答
1

我认为您可以 在 sql server中使用except子句

INSERT INTO tableC
(
   Col1
 , col2
 , col3
)

select Col1,col2,col3from tableA 
Except 
select  Col1,col2,col3 from tableB

请参阅更多信息

http://blog.sqlauthority.com/2008/08/07/sql-server-except-clause-in-sql-server-is-similar-to-minus-clause-in-oracle/

希望这可以帮助

于 2013-07-19T10:44:34.883 回答