Мне нужно сравнить и сопоставить самое длинное совпадение двух строк в двух разных таблицах и обновить одно значение при ближайшем совпадении.
Table 1 Table 2
stack1 stack2
ABCDEFG ABC
GHIJKLM ABCDE
PQRSUVW ABCDEF
Мне нужно сравнить эти две таблицы и сопоставить их с таблицей в одном шкафу и обновить первую строку таблицы 1 как ABCDEF, наиболее близкое соответствие. Пожалуйста, кто-нибудь может мне помочь. Я застрял здесь.
Вот мой запрос
UPDATE table1 A
SET A.stack1 = (SELECT DISTINCT B.stack2
FROM table2 B
WHERE A.stack1 LIKE CONCAT(B.stack2,'%'))
WHERE name = 'name';
с этим запросом получаю сообщение об ошибке
ORA-01427: однострочный подзапрос возвращает более одной строки