2つの異なるテーブル内の2つの文字列の最長の一致を比較して一致させ、最も近い一致がある場合は1つの値を更新する必要があります。
Table 1 Table 2
stack1 stack2
ABCDEFG ABC
GHIJKLM ABCDE
PQRSUVW ABCDEF
これらの2つのテーブルを比較し、最も近いテーブルと一致させ、表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:単一行のサブクエリが複数の行を返します