我不知道如何提出问题,如何从表2新模型更新表1中的Model列。我不知道这是否可以通过SQL完成。如果它不可能,我会编写一些代码,通过列表循环。
唯一的常见因素是table2.model可能存在于tabl1.description中。
表1:
Description Model
------------------------------------------------
M114-1 vehicle description
vehicle M114-2 description
track vehicle M116-3 description
troop M117 command vehicle
表2
Model New Model
------------------------------
M114-1 M11412
M114-2 m11412
M114-3 m11412
M116-1 m11611
答案 0 :(得分:1)
CHARINDEX
可以像这样搜索子字符串。
作为选择,验证运行,您可以运行更新!
SELECT *
-- UPDATE T1 SET MODEL=T2.[NEW MODEL]
FROM TABLE1 T1
JOIN TABLE2 T2 ON CHARINDEX(T2.MODEL,T1.DESCRIPTION)>0
答案 1 :(得分:0)
我倾向于将like
用于此目的:
update t1
set model = t2.newmodel
from t1 join
t2
on t1.description like '%' + t2.model + '%';
为了更安全一点,您可能希望坚持说明中的模型名称被空格包围(或在字符串的开头或结尾):
update t1
set model = t2.newmodel
from t1 join
t2
on ' ' + t1.description + ' ' like '% ' + t2.model + ' %';