У меня есть 2 таблицы Table_A и Table_B. Table_A является родителем Table_B. Таблица_B имеет 2 столбца, которые ссылаются на Table_A (я имею в виду, что оба столбца относятся к столбцу в родительском элементе).
Таблица_A содержит следующие столбцы (id, name, className)
Таблица_B содержит следующий столбец (источник, место назначения), оба столбца относятся к идентификатору в Table_A
Предположим, что Table_A
содержит следующие данные
id name className
---------------------------
1 N1 C1
2 N2 C2
3 N3 C3
4 N4 C4
5 N5 C6
Table_B
Source Destination
------------------
1 2
2 3
3 4
3 5
Мне нужен запрос, в котором мне требуются все идентификаторы, присутствующие в пункте назначения, а не в источнике, и мне нужно объединить эти идентификаторы с Table_A
, чтобы получить name и className.
Для данных, которые я показал, запрос должен получить следующие строки.
4 N4 C4
5 N5 C5
Кстати, здесь я показал частичные данные, но Table_B
имеет более 1000 записей.
EDIT
Я написал следующий запрос, но он показывал неправильные результаты
select * from Table_A where id not in (select distinct Source from Table_B)
Но в настоящее время он давал правильные результаты, но в долгосрочной перспективе мы можем столкнуться с проблемой производительности, а также запрос извлекает данные, которых нет ни в источнике, ни в пункте назначения.