SQL Запрос на обновление повторяющихся записей, которые были переданы ранее - PullRequest
1 голос
/ 26 мая 2020

Попросите кого-нибудь помочь по указанной ниже проблеме с запросом сервера sql. Я хочу обновить столбец примечаний в соответствии с таблицей ниже. В настоящее время я обновляю столбец примечаний как «Обнаружена повторяющаяся запись» , но теперь я хочу добавить дату валютирования , которые были переданы ранее.

ID  RefNo       Value Date  Remarks
1   MFX93838    20-05-2020
2   MFX93838    25-05-2020  Record is already transmitted on 20-05-2020
3   MOU93838    22-05-2020   
4   MOU93838    23-05-2020  Record is already transmitted on 22-05-2020

enter image description here

1 Ответ

1 голос
/ 26 мая 2020

Вы можете использовать lag(). Для update:

with toupdate as (
      select t.*, lag(date) over (partition by refno order by date) as prev_date
      from t
     )
update toupdate
    set remarks = concat('Record is already transmitted on ', prev_date)
    where prev_date is not null;

вы можете использовать convert() или format(), чтобы поместить дату в определенный формат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...