DDL:
declare @tbl table (DOC_GUID int, NAME varchar(3), Value varchar(3), Timestamp int );
insert into @tbl values
(1111,'V1','AC',1134),
(1111,'V2','AB',1134),
(1112,'V1','AB',1234),
(1112,'V2','N',1234),
(1113,'V1','AC',1334),
(1113,'V2','N',1334),
(1114,'V1','N',1434),
(1114,'V2','N',1434);
Запрос на обновление:
update t1 set t1.Value = t2.Value
from @tbl t1 join (
select *,
-- here I use case statement to make AC come before AB
row_number() over (partition by DOC_GUID order by case when [Value] = 'AC' then 'AA' else [Value] end) rn
from @tbl
) t2 on t1.DOC_GUID = t2.DOC_GUID
where t2.rn = 1