我需要比较和匹配两个不同表中两个字符串的最长匹配项,如果有最接近的匹配项,则更新一个值。
Table 1 Table 2
stack1 stack2
ABCDEFG ABC
GHIJKLM ABCDE
PQRSUVW ABCDEF
我需要比较这两个表并匹配壁橱,并将表 1 第一行更新为最接近的匹配项,请任何人帮助我。我被困在这里。
这是我的查询
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: 单行子查询返回多于一行