根据值是否存在更新值

Updating values based on whether a value exists

我似乎无法理解您有一个 table 的情况,其中多次列出不同 FAM_TYPES 的身份,如下所示的一个身份示例。基本上,我想更新 VALID_TO 列以匹配所有 FAM_TYPEs 的 VALID_FROM 列,但仅在有 ACT 的 FAM_TYPE 和关联的 FAM_VALUE 的情况下该 IDENT 为 1。我曾尝试使用 WHERE 语句,但我最终只更新了 FAM_TYPE 为 ACT 的行。

IDENT   FAM_TYPE    FAM_VALUE   VALID_FROM  VALID_TO
61593   ACT            1        13/11/2017  12/01/2018
61593   LSF            1        13/11/2017  12/01/2018
61593   ACT            1        13/11/2017  22/12/2017
61593   ACT            1        13/11/2017  22/12/2017

存在可以用IN和ADS中的子SELECT来测试

你可能想要这样的东西:

UPDATE
  table
SET
  valid_to = valid_from
WHERE
  ident IN (SELECT ident from table WHERE fam_type = 'ACT' AND fam_value = 1)