2015-08-31 6 views
0

Я хочу выбрать и выбрать все несоответствие двух таблиц, имеющих одинаковое имя столбца, но идентификатор, имя и город разные. Я с помощью управления Sql Server StudioВыберите значения столбца рассогласования из базы данных

Таблица A:

id Name City 

1 John karachi 

2 smith Capetown 

3  liza Washington   

Таблица B:

id Name City 

7 Grey Dubai 

8 Clarke Texas 

9  liza Washington 

ВЫХОДА:

7 Grey Dubai 

8 Clarke Texas 

ответ

1

Это было отвечено сотни и сотни раз. Не совсем уверен, что вы подразумеваете под «тем же именем колонки, но Id, Name и City are different», но вот несколько примеров того, как вы можете это сделать.

Вы можете использовать левое соединение, где TableA имеет нулевое значение,

select b.Name 
    , b.City 
from tableb b 
left join tablea a on a.name = b.name 
    and a.city = b.city 
where a.name is null 

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

select Name 
    , City 
from tableb 
except 
select Name 
    , City 
from tablea 
+0

@DhruvJoshi - спасибо за редактирование. :) –

0

Вы можете попробовать нижеследующий запрос. Предполагая, что id колонна никогда не null

select tb.* 
from tableB tb 
left join tableA ta 
on tb.Name=ta.Name and tb.City=ta.City 
where ta.id is NULL 

Ссылка на демо-SQL скрипку: http://sqlfiddle.com/#!3/250e5/1

+0

Спасибо. Этот запрос отлично работает, и почему вы описали его очень хорошо. –

+0

@JunaidMumtazAhmed Пожалуйста, подумайте о том, чтобы отметить это как ответ и/или повысить. :) – DhruvJoshi