2014-01-09 3 views
1

Я пытаюсь построить SQL-запрос. У меня есть две таблицы tblA(data INT) и tblB(data INT) где tblA содержит строки 1,2,3,4 и tblB содержит 3,4,5,6. Что я хочу достичь, я хочу присоединиться к tblA и tblB, а на выходе хочу содержимое tblA, которых нет в tblB.SQL минус с использованием соединения

i.e. минус работа.

Как я могу добиться этого при помощи присоединиться к SQL Server 2012

+1

Ну, вы понимаете, что объединение средств? – PeterRing

+0

[Демо здесь] (http://sqlfiddle.com/#!3/c3c4f/5) – praveen

ответ

2

Okay, использовать EXCEPT.

SELECT data 
FROM tblA 

EXCEPT 

SELECT data 
FROM tblB 

Использование teminology, СОЕДИНЕНИЕ добавить, КРОМЕ минус.

+0

Приятно знать За исключением – DevelopmentIsMyPassion

1

Вам не требуется соединение. Я думаю, что вы ищете это:

select data from tblA 
where data not in (select data from tblB) 

Вы также можете использовать EXCEPT

select data from tblA 
EXCEPT 
select data from tblB 
+3

@AshReva Если вы посмотрели на то время, вы не должны спрашивать об этом (если только вы не думаете, что я вижу новый опубликовать, скопировать, изменить форму и опубликовать через 10 секунд). На самом деле Йодрейл сделал много прав на свой пост с момента первого опубликования, а у меня его нет. Тем не менее, даже если это было так, я не думаю, что это полезный комментарий. Главное, чтобы помочь OP, я думаю. –

+0

Прошу прощения, если это причинит вам боль. Я не хочу вдаваться в подробности, иначе это не закончится. Я согласен, что мы должны помочь ОП. Еще раз извините. – DevelopmentIsMyPassion

+0

Речь идет не о повреждении. Это просто, что вся система значков/достижений имеет некоторые недостатки. Никакого вреда. –

Смежные вопросы