使用其他表中的值更新表

时间:2015-06-02 09:30:02

标签: sql tsql

我有一个table 1,我必须使用table 2中的数据替换列中的某些数据。

Table 1

A       | B
-----------------------------
Test A1 | 123SOMETEXT
Test A2 | 456OTHERTEXT
Test A3 | 789MORETEXT


Table 2

B_old | B_new
-----------------------------
123   | ABC
456   | DEF
789   | GHI

使用此示例,我必须使用123SOMETEXT替换B的{​​{1}}列中的table 1,依此类推。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

这应该有效:

update t1 set B = replace(B, cast(t2.B_old as varchar(10)), c2.B_new)
from Table1 t1
join Table2 t2 on t1.B like cast(t2.B_old as varchar(10)) + '%'