通过比较两个表来更新sql中的查询

时间:2013-12-02 06:17:43

标签: mysql sql sql-server

我想用table2.data_plan中的值更新table1.data_plan的值 MSISDN。 我的表看起来像这样

  • msisdn data_plan
  • XXXX YYY
  • RRRR SSSS

  • msisdn data_plan

  • XXXX NNN
  • RRRR SSSS

基本上我必须做的是将第一个表data_plan更新为NNN

我的代码看起来像这样

UPDATE msisdn m FULL JOIN t1 a ON a.msidn=m.msidn AND a.data_plan != m.data_plan SET m.data_plan = a.data_plan

2 个答案:

答案 0 :(得分:2)

正如您在sql-server下标记的那样,我发布的解决方案是sql-server answer。

update t1
set    t1.data_plan = t2.data_plan
from   table1 t1 inner join table2 t2
on     t1.msisdn = t2.msisdn 

答案 1 :(得分:0)

您也可以使用子查询。

update table1 t1 
set data_plan= (select data_plan 
                from table2 t2 
                where t1.msisdn=t2.msisdn)