SQL Server - 部分字符串匹配 - 两列不同的表

时间:2010-12-13 15:59:16

标签: sql-server partial string-matching

我需要SQL Server的查询(或存储过程),其中我需要使用以下结构比较两个不同表的数据

表1

ID       Text       Table2ID
1        Chris   
2        John
3        Paul

表2

ID       Text
1        Mitchell Johnson
2        Chris Martin
3        Steven

通过比较上面两个表,我需要从table2获取'IDs'并将它们插入到第一个表的'Table2ID'列中

比较标准: -

'Table1'的'Text'列中的完整单词应包含在'Table2'的'Text'列中

在我们的例子中,我们将从table2获得前两行的“ID”(因为John包含在'Mitchell Johnson'中,而Chris这个词包含在'Chris Martin'中,而Paul不包含在'Table2中“)

我怎么能实现这个目标?如果有人在这里能够揭示我的道路,那就太好了

此致 Raghuraman.V

1 个答案:

答案 0 :(得分:2)

抽象答案是:

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 + '%'