Что такое MS Access SQL эквивалент FULL OUTER JOIN с a.key IS NULL и b.key IS NULL - PullRequest
1 голос
/ 04 апреля 2020

Пример запроса , который я хочу выполнить в MS Access SQL:

SELECT *
FROM TableA AS a
FULL OUTER JOIN TableB AS b
ON a.key = b.key
WHERE a.key IS NULL
OR b.key IS NULL

Поскольку MS Access SQL не разрешает FULL OUTER JOIN, я попытался использовать код ниже, но результаты не верны.

SELECT *
FROM (TableA AS a
LEFT JOIN TableB AS b
ON a.key = b.key)
RIGHT JOIN TableB AS c
ON a.key = c.key
WHERE b.key IS NULL
OR a.key IS NULL

Кто-нибудь знает, как создать MS Access SQL эквивалент примера запроса выше , который я пытаюсь выполнить?

1 Ответ

0 голосов
/ 04 апреля 2020

Использование:

select . . . 
from a
where not exists (select 1 from b where b.key = a.key)
union all
select . . .
from b
where not exists (select 1 from a where a.key = b.key);

. . . - для нужных столбцов.

Вы можете использовать *, если использовали:

select a.*, b.*
from a left join
     b
     on 1 = 0
where not exists (select 1 from b where b.key = a.key)
union all
select a.*, b.*
from b left join
     a
     on 1 = 0
where not exists (select 1 from a where a.key = b.key);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...