Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 сравнить строки в разных таблицах  [new]
Gaible
Guest
есть 2 таблицы, t1 и t2 одинаковой структуры, нужно как то произвести сравнение записей по каждому полю.
чтобы в итоге получить что-то типа

какие записи сравнивать задается параметров Id1 и Id2

__________________________________________________________________
| FieldName | table1 | table2 | == |
| f1 | 1 | 3 | false |
| f2 | 2 | 2 | true |
| f3 | 3 | 1 | false |
| ..... | | | |
| | | | |
| | | | |
----------------------------------------------------------------------------

как такое сделать?
28 фев 12, 14:46    [12163958]     Ответить | Цитировать Сообщить модератору
 Re: сравнить строки в разных таблицах  [new]
SHKoder
Member

Откуда: Moscow city
Сообщений: 616
with cte as (
select a, b -1 as f from t1
union all
select a, b, 1 as f from t2
)

select a, b, case when f = 1 then 'true' else 'false' end as fl from cte
group by a, b
having sum(f) != 0


попробуй так
28 фев 12, 14:56    [12164049]     Ответить | Цитировать Сообщить модератору
 Re: сравнить строки в разных таблицах  [new]
SHKoder
Member

Откуда: Moscow city
Сообщений: 616
кейс может я чуть напутал, when = 0 then true
28 фев 12, 14:57    [12164055]     Ответить | Цитировать Сообщить модератору
 Re: сравнить строки в разных таблицах  [new]
Glory
Member

Откуда:
Сообщений: 104751
{ <query_specification> | ( <query_expression> ) }
{ EXCEPT | INTERSECT }
{ <query_specification> | ( <query_expression> ) }
28 фев 12, 15:02    [12164099]     Ответить | Цитировать Сообщить модератору
 Re: сравнить строки в разных таблицах  [new]
SHKoder
Member

Откуда: Moscow city
Сообщений: 616
Glory
{ <query_specification> | ( <query_expression> ) }
{ EXCEPT | INTERSECT }
{ <query_specification> | ( <query_expression> ) }


так придется делать в несколько итераций
эти операнды вернуть вхождения или разницу.
а сравнение они не покажут....
с данными придется еще поиграться
28 фев 12, 15:25    [12164285]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить