SQL объединяет две таблицы без уникального ключа - PullRequest
0 голосов
/ 31 января 2019

Это делается в SQL Server 2005.

У меня есть 2 отдельные таблицы без уникального атрибута.

Столбцы таблицы A: NAME|FROM|EMAIL

ТаблицаB столбцы: NAME|FROM|EMAIL

Я пытаюсь получить все результаты от A + все результаты от B , где FROM равно '123'.

SELECT
x.FROM as 'FROM',
x.Email as 'Email',
x.Name as 'Name'
FROM TableA x
INNER JOIN TableB y 
ON x.FROM = y.FROM
WHERE x.FROM = '123'

Текущий сценарий SQL дает неверные результаты, ничего из таблицы B и только 1 результат из таблицы A в дублированном виде.

Является ли Inner Join неправильным типом соединения здесь?

1 Ответ

0 голосов
/ 31 января 2019

Вы хотите union all:

select name, [from], email
from a
union all
select name, [from], email
from b
where [from] = '123';

Вам также следует обновить SQL Server до поддерживаемой версии.SQL Server 2008 теряет поддержку через несколько месяцев.

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