更新表帮助

时间:2009-08-13 13:44:22

标签: sql

我有两个表:table_1和table_2

table_1                       table_2
field_1   field_2             field_3      field_4
1          a                  1             
2          b                  4
3          c                  3
4          d                  2

现在我需要使用更新的查询,以便在table_2中我可以在field_4中使用以下值:

table_2
field_3    Field_4
1              a
4              d
3              c
2              b

应该通过使用table_1在单个查询中更新staement获得,这样如果table_2的field_3有1,那么filed_4的值应该等于field_2,table_1中的field_1

2 个答案:

答案 0 :(得分:2)

在SQL Server中,它将是:

UPDATE table_2
 set field_4 = t1.field_2
 from table_2 t2
  inner join table_1 t1
   on t1.Field1 = t2.Field_3

这假设field_1是主键(具有唯一值)。 table_1中找不到table_2中的任何内容都不会更新。表2中的重复field_3值将被正确设置。

答案 1 :(得分:0)

是的,既然你把桌子别名了,我认为他是对的。正确答案是:

    UPDATE t2
       SET field_4 = t1.field_2
      FROM    table_2 t2
       INNER JOIN
          table_1 t1
       ON t1.Field1 = t2.Field_3