У меня есть 2 таблицы Table_A и Table_B. Table_A является родительским элементом Table_B. Table_B имеет 2 столбца, которые относятся к Table_A (я имею в виду, что оба столбца относятся к столбцу в родительском).
Таблица_A содержит следующие столбцы (идентификатор, имя, имя класса) Таблица_B содержит следующий столбец (источник, назначение), оба столбца относятся к идентификатору в таблице_A
Предположим, что Таблица_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
, чтобы получить имя и имя класса.
Для данных, которые я показал, запрос должен получить следующие строки.
4 N4 C4
5 N5 C5
Кстати, здесь я показал частичные данные, но Table_B
содержит более 1000 записей.
РЕДАКТИРОВАТЬ
Я написал следующий запрос, но он показал неверные результаты
select * from Table_A where id not in (select distinct Source from Table_B)
Но в настоящее время он давал правильные результаты, но в долгосрочной перспективе мы можем столкнуться с проблемой производительности, а также запрос извлекает данные, которых нет в обоих Source и место назначения.