Сопоставление двух столбцов

У меня есть две таблицы. В таблице A два столбца, а в таблице B — один столбец.

ТаблицаA

ID | TERM_A

Таблица Б

TERM_B

Столбцы TERM_A и TERM_B содержат термины . Я хочу взять термины пересечения из столбца TERM_A таблицы A и столбца TERM_B таблицы B с помощью sql в Oracle 10. Моя таблица результатов должна быть такой:

  • Таблица_результатов

    ID | INTERSECT_TERMS

Как я могу это сделать?


person user951487    schedule 19.10.2011    source источник
comment
Хмммм, это предположение, но вы можете использовать ключевое слово INTERSECT: ">download.oracle.com/docs/cd/B19306_01/server.102/b14200/   -  person Ollie    schedule 19.10.2011


Ответы (1)


Оператор INTERSECT возвращает набор результатов, содержащий совпадающие значения из двух запросов.

select * from tableA
where term_a in 
    ( select term_a from tableA
      intersect
      select term_b from tableB )
;

Поскольку вы хотите выбрать дополнительные столбцы из TABLEA, вам нужно использовать вывод пересечения в качестве подзапроса.

person APC    schedule 23.10.2011