我知道这个问题已经问过几次了,我已经尝试使用解决方案来解决我的问题。不幸的是,它没有得到我想要的输出。我需要通过将一个表中的ID列连接到另一个表(其中该连接列没有确切值)来更新ID列。
TableA TableB
EmpNo EmpName ID EmpNo EmpName ID TermDate
101 John Doe Null 250termed_101 John Doe 250 11-15-2018
102 Jane Doe Null 251termed_102 Jane Doe 251 02-25-2019
101 Bryan Adams Null 252termed_101 Bryan Adams 252 03-12-2020
这是我尝试过的操作,但由于以下查询给了我重复项而无法获得所需的输出:
select *
from TableA as A left join
TableB as B
on B.EmpNo like '%' + A.EmpNo + '%' and A.EmpNo is not null
需要输出:EmpNo EmpName ID101 John Doe 250第102章251101布赖恩·亚当斯[252
我需要通过将EmpNo上的这两个表连接到TableA中来填充ID列。对于第一张记录,约翰·多伊(John Doe)于2018年11月15日被解雇,其员工编号分配给具有唯一ID的布莱恩·亚当斯(Bryan Adams)。我需要为当时拥有该号码的相应员工从TableB的ID列填充到Table A中。
提前感谢
您似乎在正确的路径上,更新语句应类似于以下内容,还请注意我如何使相似比较更加准确:
update A SET
ID = B.ID
from
TableA as A
left join TableB as B on
B.EmpNo like '%_' + A.EmpNo and
A.EmpNo is not null;