Вы используете не тот столбец, верно? В вашем текущем UPDATE
вы пытаетесь найти значение Table2.Col1 в Table1.Col2. В этом случае нет совпадения между этими столбцами. Вы описываете матч следующим образом:
Я хочу обновить строки, в которых только некоторые символы Tbl1.Col2 совпадают с Tbl2.Col2
Таким образом, вы можете использовать одно из следующих решений, используя CHARINDEX
или LIKE
:
UPDATE A
SET A.Col1 = B.Col1
FROM Table1 A, Table2 B
WHERE CHARINDEX(B.Col2, A.Col2) > 0
... используя следующее, используя INNER JOIN
:
UPDATE A
SET A.Col1 = B.Col1
FROM Table1 A INNER JOIN Table2 B ON CHARINDEX(B.Col2, A.Col2) > 0
... или используя LIKE
(но с правильным столбцом):
UPDATE A
SET A.Col1 = B.Col1
FROM Table1 A, Table2 B
WHERE A.Col2 LIKE '%' + B.Col2 + '%'
демо на dbfiddle.uk