Как создать IF в SQL Server - PullRequest
       1

Как создать IF в SQL Server

0 голосов
/ 25 сентября 2019

У меня есть таблица, которая содержит много запросов (BursaryRequestId).Некоторые запросы имеют одинаковый идентификатор, поскольку имеют оригинальную и измененную копию.

Мне нужно написать сценарий T-SQL, который будет проверять все результаты, если идентификатор StatusID измененной версии равеноригинальная версия.Если это не равно, то измените модифицированную версию с оригинальной версией StatusID.

table

Вы можете видеть на изображении, что измененная версия (IsOriginal = '0') имеет StatusId из '1', и его нужно изменить на '3', как в оригинальной версии.

1 Ответ

1 голос
/ 25 сентября 2019

Я думаю, что вы хотите:

with toupdate as (
      select t.*,
             max(case when isoriginal = 1 then statusid end) over (partition by identifier) as original_statusid
      from t
     )
update toupdate
    set statusid = original_statusid
    where isoriginal = 0 and statusid <> original_statusid;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...