У меня есть 2 таблицы:
A table: ---+---------- id + key B table: -----+--------+--------- id + value + key
поле «ключ» в B получается из таблицы A.
Мне нужны все идентификаторы из таблицы с «ключом», которых нет в таблице B.
Вы пытались использовать JOIN?Если я правильно понял, вы хотите полное внешнее соединение (с исключением), которое аналогично двойному «не в».
См. Рисунок ниже для получения более подробной информации.
NOT IN в одну сторону:
NOT IN
SELECT id FROM A WHERE key NOT IN ( SELECT key FROM B)
Как насчет LEFT JOIN, как
LEFT JOIN
select a.id,a.key from A a left join B b on a.key = b.key where b.id is null
Попробуйте это:
SELECT id FROM tablea a WHERE NOT EXISTS (SELECT 1 FROM tableb b WHERE b.key = a.key)