2015-11-05 84 views
-1

我想通过使用REPLACE()函数使用另一个表(#PEOPLE)中的数据更新一个表(#TEMPTABLE)中的列。SQL Server 2012更新替换从另一个表中的2列

#TEMPTABLE有一个名为“NameString”列,它是一个很长的字符串与用户的名称和ID。

#PEOPLE有ID列,和的ID号。

UPDATE #TEMPTABLE 
SET NAMEString = REPLACE(NAMEString, a.[ID], a.[IDNumber]) FROM #PEOPLE a 

我。试图

+0

我投票结束这个问题作为题外话,因为这不是你应该问的问题。任何地方。 – Amit

回答

0

全部更换ID的与IDnumbers从#People表来的NameString列你需要给它一个连接标准,例如:

update #TEMPTABLE 
set NAMEString = replace(a.NAMEString, a.ID, b.IDNumber) 
from #TEMPTABLE a 
left join #PEOPLE b 
on a.id = b.ID 

此外,请确保在使用IDNumber列时引用右表 - 根据您对表格的描述,我的原始查询实际上并不使用包含IDNumber的表格。

请注意,我的示例假定#TempTable中有ID字段或其他要加入的字段 - 否则,您可能需要先从NameString列中提取它。

相关问题