2015-11-05 127 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列中提取它。

相關問題