Сравните каждую запись из двух таблиц - PullRequest
1 голос
/ 22 июля 2010

Если у меня есть две таблицы SQL, состоящие из одного столбца,

т.е.

Table 1               Table 2
a1                    a2
b1                    b2
c1                    c2

Существует ли краткая команда SQL для сравнения каждой записи в одной таблице с каждой записью в другой??(и возвращает true, если любая запись из таблицы 1 соответствует любой запись из таблицы 2)

т.е.

if (a1 = a2 ORa1 = b2 OR a1 = c2 OR b1 = a2 OR b1 = b2 ...)

Я хочу

Если любая запись из таблицы соответствует таблице b (т.е.в таблице целых чисел они совпадают с int), возвращают true.

Ответы [ 2 ]

1 голос
/ 22 июля 2010

Почему бы не просто

if exists (select 1 from T1 inner join TB on T1.Col = T2.Col)
0 голосов
/ 22 июля 2010

A full join хорошо подходит для поиска различий.Чтобы найти строки, отсутствующие в любой из таблиц:

select  *
from    t1
full join    
        t2
on      t1.col1 = t2.col1
where   t1.col1 is null
        or t2.col1 is null

Предполагается, что один столбец уникален (т. Е. Не имеет повторяющихся значений.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...