Sql 根据值是否存在更新值

Sql 根据值是否存在更新值,sql,sql-update,advantage-database-server,Sql,Sql Update,Advantage Database Server,我似乎无法理解这样一种情况,即您的表中多次列出了不同FAM_类型的标识,如下所示的一个标识示例。基本上,我想更新VALID_to列以匹配所有FAM_类型的VALID_FROM列,但仅当存在FAM_类型的ACT且该标识的关联FAM_值为1时。我曾尝试使用WHERE语句,但最终只更新FAM_类型为ACT的行 IDENT FAM_TYPE FAM_VALUE VALID_FROM VALID_TO 61593 ACT 1 13/11/2017

我似乎无法理解这样一种情况,即您的表中多次列出了不同FAM_类型的标识,如下所示的一个标识示例。基本上,我想更新VALID_to列以匹配所有FAM_类型的VALID_FROM列,但仅当存在FAM_类型的ACT且该标识的关联FAM_值为1时。我曾尝试使用WHERE语句,但最终只更新FAM_类型为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和sub-SELECT IN广告进行测试

你可能想要这样的东西:

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