Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение таблиц / 3 сообщений из 3, страница 1 из 1
02.06.2002, 07:43:12
    #32031600
BOBKA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
Пивет всем!
Задача:
Есть две выборки из двух таблиц примерно одинаковых по структуре (выборки по структуре одинаковы), нужно выяснить одинаковы ли выборки. Выборки считаются одинаковыми если у них значения всех столбцов в строках совпадают. Все строки в целом в таблице уникальны.
Вопрос: Как это сделать не прибегая к курсорам?
Единственное что приходит в голову, что-то типа
select *
from table1 t1
where t1.col1 exists
(select t2.col1
from table2 t2
where t1.col2=t2.col2 and t1.col3=t2.col3
)
Но что-то как-то не очень-то и работает ...
Есть идеи?
...
Рейтинг: 0 / 0
02.06.2002, 12:56:40
    #32031601
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
Должно выглядеь примерно так:

select case when Count(*) = (select Count(*) from Table2) then 1 else 0 end as Flag
from Table1 t1
where Exists(select * from Table2 t2 where t1.Col1 = t2.Col1 and t1.Col2 = t2.Col2 and t1.Col3 = t2.Col3)

Данный запрос вернет поле Flag с 1 - если все совпадает и 0, если не совпадает
...
Рейтинг: 0 / 0
03.06.2002, 07:17:58
    #32031607
BOBKA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение таблиц
Грейт сенкс

Прмерно в таком виде и заработало
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сравнение таблиц / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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