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