Как объединить 2 таблицы в 1 запросе SQL? - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть 2 таблицы:

A table: 
---+----------
id +  key

B table: 
-----+--------+---------
id   +  value +   key

поле «ключ» в B получается из таблицы A.

Мне нужны все идентификаторы из таблицы с «ключом», которых нет в таблице B.

Ответы [ 4 ]

0 голосов
/ 23 декабря 2018

Вы пытались использовать JOIN?Если я правильно понял, вы хотите полное внешнее соединение (с исключением), которое аналогично двойному «не в».

См. Рисунок ниже для получения более подробной информации.

enter image description here

0 голосов
/ 23 декабря 2018

NOT IN в одну сторону:

SELECT id FROM A
WHERE key NOT IN (
    SELECT key FROM B)
0 голосов
/ 23 декабря 2018

Как насчет LEFT JOIN, как

select a.id,a.key from A a
left join B b on a.key = b.key
where b.id is null
0 голосов
/ 23 декабря 2018

Попробуйте это:

SELECT id FROM tablea a
WHERE NOT EXISTS (SELECT 1 FROM tableb b WHERE b.key = a.key)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...