在匹配前三个字符的同时更新sql记录

问题描述 投票:-1回答:1

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

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

第一表说明列:'2AB F YY'

第二表项目列:值:'2AB'

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

错误的输出:所有值记录均从2AB以外的位置开始

我现在正在寻找在更新后的描述值中添加描述列的后2个字符

sql sql-server stored-procedures stored-functions
1个回答
0
投票

使用RIGHT()功能获取RIGHT()的后两个字符:

[DESCRIPTION]

请参阅简化的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

© www.soinside.com 2019 - 2024. All rights reserved.