Сравнение данных двух таблиц в одной базе данных в sqlserver

Мне нужно сравнить данные двух таблиц в одной базе данных. Сопоставить данные, используя некоторые столбцы формы таблицы.

Сохраненные данные этих дополнительных строк хранятся в другой таблице, называемой "реляционные данные". пока меня обыскивают, нашли солютин.

Но это не работает для меня http://weblogs.sqlteam.com/jeffs/archive/2004/11/10/2737.aspx

Может ли кто-нибудь помочь, как это сделать. Как сравнить данные двух таблиц в одной базе данных, используя redgate(Tool)?

2 ответа

Решение

Red Gate SQL Data Compare позволяет сопоставить две таблицы в одной базе данных при условии, что столбцы являются совместимыми типами данных. Вы просто помещаете одну и ту же базу данных в исходную и целевую точки, затем переходите на вкладку "Сопоставление объектов", отменяете отображение двух таблиц и сопоставляете их вместе.

Для сравнения данных использовался UNION ALL, но он заполнял базу данных tempdb, что и будет, если в таблице будет большое количество строк. Он выполняет все "соединения" на локальном жестком диске, используя кеш данных.

Я думаю, что вы можете использовать исключение в SQL Server

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/

Надеюсь это поможет

Другие вопросы по тегам