SQL Server - Частичное совпадение строк - два столбца разных таблиц - PullRequest
2 голосов
/ 13 декабря 2010

Мне нужен запрос (или, скорее, хранимая процедура) для SQL Server, в котором мне нужно сравнить данные двух разных таблиц со следующей структурой

Таблица 1

ID       Text       Table2ID
1        Chris   
2        John
3        Paul

Table2

ID       Text
1        Mitchell Johnson
2        Chris Martin
3        Steven

Сравнивая две вышеупомянутые таблицы, мне нужно получить 'идентификаторы' из таблицы2 и вставить их в столбец 'Table2ID' первой таблицы

Критерии сравнения: -

Полное слово в столбце «Текст» таблицы «Table1» должно содержаться в столбце «Текст» таблицы «Table2»

В нашем случае мы получили бы «идентификаторы» первых двух строк из таблицы 2 (поскольку слово «Джон» содержится в «Митчелл Джонсон», а слово «Крис» содержится в «Крис Мартин», а Пол - в «Таблица 2» «)

Как я мог этого достичь? Было бы хорошо, если бы кто-то здесь мог пролить свет на мой путь

С уважением, Raghuraman.V

1 Ответ

2 голосов
/ 13 декабря 2010

Абстрактный ответ:

UPDATE Table
SET Table.col1 = other_table.col1
FROM Table
INNER JOIN other_table ON Table.id = other_table.id

В частности:

update Table1
set Table1.Table2ID = Table2.ID
from Table1
inner join Table2 on Table2.Text like '%' + Table1.Text + '%'
...