匹配前 3 个字符时更新 sql 条记录

Updating sql records while matching the first 3 characters

我正在更新 2 table 的记录,其中名为 DESCRIPTION(前 3 个字符)的第一个 table 列应与第二个 table 的项目代码列匹配.如果匹配,则 Table 1 Description 列将更新为 Table 2 Model 列的值。我想从 Table 1 列描述中获取最后 2 个字符以添加到我的输出中,但最后 2 个字符不存在于 Table 2 列项目中。

update Table1
set Table1.[DESCRIPTION] = Table2.Model
from Table1
join Table2 on SUBSTRING(Table1.[DESCRIPTION],1,3) = Table2.projectcode

第一个 Table 描述列:'2AB F YY'

第二个 Table 项目列:值:'2AB'

预期输出:Return 值为 2AB 的所有记录列结果:'2AB YY'

错误输出:所有值开始于 2AB 以外的记录

我现在希望在描述的更新值中添加描述列的最后 2 个字符

使用RIGHT()函数获取[DESCRIPTION]的最后2个字符:

update t1
set t1.[DESCRIPTION] = t2.Model + ' ' + RIGHT(t1.[DESCRIPTION], 2)
from Table1 AS t1 inner join Table2 AS t2
on LEFT(t1.[DESCRIPTION], 3) = t2.projectcode

查看简化版 demo