从另一个表SQL更新表

时间:2014-11-07 15:40:31

标签: sql tsql

我用一个简单的程序撞墙。

从另一张桌子更新一张桌子,继承人我在哪里:

DECLARE @oldcode  varchar(50)
DECLARE @newcode  varchar(50)


SET @oldcode = table1.OLDCODE
SET @newcode = table1.NEWCODE


UPDATE table2 SET [CODE] = @NEWCODE WHERE [CODE] = @OLDCODE

这导致: 无法绑定多部分标识符“table1.OLDCODE”。

欢呼: -

数据:

表1

record  OLDCODE NEWCODE
1   ZZZALF38    ALF38
2   ZZZALF38.1  ALF38.1
3   ZZZALF38.2  ALF38.2

table2

record  CODE    
1   ZZZALF38    
2   ZZZALF38.1  
3   ZZZALF38.2  

希望将表2更改为:

record  CODE    
1   ALF38   
2   ALF38.1 
3   ALF38.2 

2 个答案:

答案 0 :(得分:2)

我猜你正在使用SQL Server,这就是你想要的:

update t2
    set code = t1.newcode
    from table2 t2 join
         table1 t1
         on t2.code = t1.oldcode;

答案 1 :(得分:0)

update table2 set code=table1.newcode from table1  on table2.code=table1.code