У меня есть база данных (Oracle) Таблица A с несколькими строками в одном из столбцов. Теперь я хочу получить соответствующие записи из таблицы B для каждого значения столбца таблицы A, например,
Таблица A
Name
-----------
ABC
DEE
GHI
JKL
Таблица B
Name
-----------
ABC
DEF
GHI
JKL
MNO
PQR
Теперь я хочу, чтобы каждая строка в таблице A была проверена по столбцу таблицы B, и если какая-либо строка была найдена почти идентичной, то она должна отображаться с исходным значением, как показано ниже
Таблица OutPut
Name Matched
--------|----------
ABC | ABC
DEE | DEF
GHI | GHI
JKL | JKL
Я пробовал следующий запрос
with data as(
SELECT Name FROM TABLE_A UNION ALL
SELECT Name FROM TABLE_B
)
SELECT Name
FROM
(
SELECT t.*,utl_match.edit_distance_similarity(upper(Name),upper('DEE')) eds
FROM data t
ORDER BY eds DESC
)
WHERE rownum = 1
но проблема в том, что с помощью этого запроса я могу проверять только одну запись за раз, и это тоже по жестко закодированной строке. Есть ли способ проверить весь столбец из таблицы A один за другим против таблицы B и вывести результат для каждой строки.