Обновление значений в зависимости от того, существует ли значение - PullRequest
0 голосов
/ 07 сентября 2018

Кажется, я не могу разобраться в ситуации, когда у вас есть таблица, в которой идентификаторы перечислены несколько раз для разных FAM_TYPES, как показано ниже для одного примера идентификатора. По сути, я хочу обновить столбец VALID_TO, чтобы он соответствовал столбцу VALID_FROM для всех FAM_TYPE, но только там, где есть FAM_TYPE ACT, и для FID_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

1 Ответ

0 голосов
/ 07 сентября 2018

Существование может быть проверено с помощью IN и суб-SELECT в ADS.

Вы, вероятно, хотите что-то вроде этого:

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