多行列的UPDATE语句与另一组行映射

时间:2013-09-22 06:58:55

标签: sql db2

我有以下数据:

  PGM      INC        EXC
  First    A          AA
  First    B          BB
  First    C          CC
  First    D          DD

  Second   E          EE
  Second   F          FF
  Second   G          GG
  Second   H          HH

我现在想要正确地将具有PGM的列更新为'第​​一'映射值的INC和EXC值的'秒'。

我们如何去做?

重新编辑:

我希望数据反映如下PGM ='Second'

  PGM      INC        EXC
  Second   E          AA
  Second   F          BB
  Second   G          CC
  Second   H          DD

也就是说,Second列应该以与第一列相同的方式反映第一列的值。

1 个答案:

答案 0 :(得分:0)

Didn'ty真的理解你的问题,但如果我是对的,你想要更新INCEXC WHERE PGM是第二位。如果是这种情况

UPDATE `table_name` SET `INC` = 'new_value' , `EXC` = 'new_value' WHERE `PGM` = 'Second' 

这会更新PGM值为'Second'的每一行我建议你做的另一个字段为id set是auto_increment并将其编入索引。

然后你可以像这样查询

UPDATE `table_name` SET `INC` = 'new_value' , `EXC` = 'new_value' WHERE `PGM` = 'Second' && `id` = 'id_value'

但是,对于其他条件,您仍然可以像这样查询

UPDATE `table_name` SET `INC` = 'new_value' , `EXC` = 'new_value' WHERE `PGM` = 'Second' && `INC` = 'Old_value' && `EXC` = 'old_value'