Сравнение Sql, где значения Table1 не найдены в Table2 и показаны результаты в виде Table3 - PullRequest
1 голос
/ 16 февраля 2012

Я пытался что-то вроде:

Select Items 
From Table1 
Where Not Exists (
    Select Items 
    From Table2 
    Where Table2.Items = Table1.Items) As Table3.Items

но как-то не работает, так может кто-нибудь сказать мне, как я могу добиться этого?

Ответы [ 3 ]

2 голосов
/ 16 февраля 2012

Если вы хотите создать новую таблицу с этими результатами, вы можете попробовать это:

Select Items 
Into Table3
From Table1 
Where Not Exists (Select Items From Table2 Where Table2.Items = Table1.Items) 
1 голос
/ 16 февраля 2012

Другое решение - except:

select *
from
(
    Select Items 
    From Table1
    except
    Select Items 
    From Table2
) as Table3
1 голос
/ 16 февраля 2012

Если вы ищете в t3 строки, которые существуют в t1, но отсутствуют в t2, попробуйте:

select  t3.Items 
from    table3 t3
where   exists
        (
        select  *
        from    table1 t1
        where   t1.Items = t3.items
        )
        and not exists
        (
        select  *
        from    table2 t2
        where   t2.Items = t3.items
        )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...