Мне нужно сделать одну строку для каждого PolicyNumber.Но ClaimStatus - это проблема.
Если у меня более 1 претензионного счета, тогда мне нужно проверить, является ли один из ClaimStatus = 'Open'.
Если один из них 'Open', то значение в ClaimStatus
должно быть Open
для всего PolicyNumber
, в противном случае ClaimStatus = 'Closed'
Текущий результат выглядит следующим образом:
PolicyNumber ClaimCount ClaimStatus
---------------------------------------
Pol1 2 Closed
Pol1 2 Open
Pol2 2 Closed
Pol2 2 Closed
Pol3 1 Closed
Pol4 3 Open
Pol4 3 Closed
Пример кода:
declare @ClaimsTable table (PolicyNumber varchar(50), ClaimCount int, ClaimStatus varchar(50))
insert into @ClaimsTable
values ('Pol1', 2, 'Closed'), ('Pol1', 2, 'Open'),
('Pol2', 2, 'Closed'), ('Pol2', 2, 'Closed'),
('Pol3', 1, 'Closed'),
('Pol4', 3, 'Open'), ('Pol4', 3, 'Closed')
select * from @ClaimsTable
Результат должен быть таким: