Обновить значения в столбце на основе значения того же столбца - PullRequest
0 голосов
/ 24 апреля 2020

enter image description here

Мне нужно написать запрос ОБНОВЛЕНИЕ SQL (с использованием SQL Server 2012) для:

  • Если значение COLOUMN = AC5 AND InputParameterName = CD
    , тогда обновите значение COLOUMN = R1_123 строки, где InputParameterName = R И тот же «bondcurescheduleid» из условия выше

  • Если значение COLOUMN = AC6 AND InputParameterName = CD
    Затем обновите значение COLOUMN = R2_546 OF ROW WHERE InputParameterName = R для той же самой облигации с указанным выше условием

Ожидаемый результат -

enter image description here

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете попробовать обновить, используя выражение CASE вместе с существующими логами c, чтобы указать правильную группу записей:

UPDATE t1
SET
    t1.Value = CASE t2.Value WHEN 'AC5' THEN 'R1_123'
                             WHEN 'AC6' THEN 'R1_546' END
FROM yourTable t1
INNER JOIN yourTable t2
    ON t2.BondCureScheduleId = t1.BondCureScheduleId
WHERE
    t2.Value IN ('AC5', 'AC6') AND
    t1.InputParameterName = 'R' AND
    t2.InputParameterName = 'CD';
...