oracle sql - 根据另一个属性值更新相同的表

时间:2015-06-04 00:11:08

标签: sql oracle sql-update

我在oracle中有一个表,它有4个具有以下值的属性

attribute_a       attribute_b    attribute_c     attribute_d

      abcd1                 1              0
      abcd1                 2              1
      abcd1                 3              0

       def1                 1              1
       def1                 2              1

我想用'逻辑AND'来更新attribute_d。根据attribute_c中的值,将值赋入attribute_d 即对于abcd1,逻辑AND为0.我想在attribute_d中为abcd1更新值为0的表 对于def1,我想在attribute_d中为def1更新值为1的表。我可以使用MERGE来完成这个,如果有人能给我一个非常感谢的查询。

1 个答案:

答案 0 :(得分:0)

首先,我同意@ jarlh关于存储计算值的评论。

解决方案:

UPDATE [TableName]
SET attribute d = (CASE WHEN attribute_b = attribute c THEN 1 ELSE 0 END)