Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение таблиц / 8 сообщений из 8, страница 1 из 1
11.10.2001, 17:03
    #32015219
Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
Господа подскажите! Имеются две таблицы с одинаковой стуктурой нужно получить третью в которой бы содержались несовпадающие записи
Заранее благодарен.
...
Рейтинг: 0 / 0
12.10.2001, 10:47
    #32015238
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
лиментарно

create table #t1(i int)
create table #t2(i int)

create table #difference(i int)

insert #difference select * from #t1
insert #difference select * from #t2

delete #difference from #difference d, #t1 t where t.i=d.i
delete #difference from #difference d, #t2 t where t.i=d.i

select * from #difference
...
Рейтинг: 0 / 0
12.10.2001, 11:00
    #32015241
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
пардон, какую-то фигню написал
правильно так:

create table #t1(i int)
create table #t2(i int)


select * from #t1 t1 where not exists(select * from #t2 t2 where t1.i=t2.i)
union
select * from #t2 t1 where not exists(select * from #t1 t2 where t1.i=t2.i)
...
Рейтинг: 0 / 0
12.10.2001, 11:00
    #32015242
Pandre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
insert into #t3
select * from #t1 where
not exists (select * from #t2 where #t1.col1=#t2.col1 and #t1.col2=#t2.col2 and ...)
union
select * from #t2 where
not exists (select * from #t1 where #t1.col1=#t2.col1 and #t1.col2=#t2.col2 and ...)
...
Рейтинг: 0 / 0
12.10.2001, 11:02
    #32015243
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
или так:
create table #t1(i int)
create table #t2(i int)

create table #difference(i int)

insert #difference select * from #t1
insert #difference select * from #t2

delete #difference from #difference d, #t1 t, #t1 t2 where t1.i=d.i and t2.i=d.i

select * from #difference
...
Рейтинг: 0 / 0
12.10.2001, 11:05
    #32015244
Pandre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
Повидимому для значений NULL надо сравнение модифицировать:

ISNULL(#t1.col1,0)=ISNULL(#t2.col1,0) AND ...
...
Рейтинг: 0 / 0
12.10.2001, 14:43
    #32015260
Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
Примного благодарен очень выручили!
...
Рейтинг: 0 / 0
15.10.2001, 19:25
    #32015369
Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
Привет.
Чтобы неизобретать велосипед, для сравнения данных можно использовать эту прогу :
http://www.red-gate.com/ <SQL Datacompare>. Эта прога даже делает скрипт чтобы перегнать недостающие и т.д данные...Вроде сообщал уже, но то сообщение возможно устарело....
Неплохо бы здесь иметь список всех полезных штучек (с линками), которые могут пригодиться в нужный момент.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение таблиц / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]