2013-07-19 2 views
2

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

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

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

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

+0

дают несколько таблиц выборок и запросы, то, над чем вы работали ... – kevinm

+0

1) http://weblogs.sqlteam.com/jeffs/archive/2 004/11/10/2737.aspx 2) SELECT col1, col2, col3 ОТ (SELECT * FROM TableA UNION ALL выберите * из TableB данных) GROUP BY col1, col2, COL3 HAVING COUNT (*)! = 2 – user123

+0

Когда я пробовал это, он показывал обе строки данных, но мне не нужно, что я хочу только сравнить данные. Сохраните лишние строки в новую таблицу. Выберите * из таблицыA минус выберите * из таблицыB – user123

ответ

3

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

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

+0

Большое спасибо за ответ. У вас есть какой-либо учебник или видео для этого, как это сделать? yi am ask, потому что у меня нет никакой идеи по этому инструменту, прежде чем я узнал об этом – user123

+0

http://documentation.red-gate.com/display/SDC104/Mapping+objects – Wonko

1

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

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/

Надеется, что это помогает

+0

Я благодарю вас, я уже пробовал это но мои данные такие же, но столбцы разные, как infoID, EmpID, так что, пока я выполняю запрос, показывающий ошибку. – user123

+0

Можете ли вы поделиться точным запросом, который вы попробовали, чтобы мы могли вам помочь –

+0

В то время как столбцы разные, как сравнивать? – user123