У меня есть таблица1:
u_a_id d_c_s c_nm c_seq r_c_p
1 908 Test1 1 20
10 908 Test1 1 21
11 908 Test1 1 12
12759 908 Test1 1 31
12759 908 Test1 1 32
12861 878 Test2 1 43
12861 878 Test2 1 44
У меня есть SQL, который находит min r_c_p и max r_c_p, которые повторяются:
select u_a_id, d_c_s, c_nm, c_seq, count(*) cnt, min(r_c_p) min_rcp, max(r_c_p) max_rcp
from table1
where c_nm not in ('VOID', 'WRONG')
group by u_a_id, d_c_s, c_nm, c_seq
having count(*) > 1;
Мне нужно обновить d_c_s и c_nm, используя выходные данные вышеупомянутого SQL, как указано ниже:
- для min (r_c_p) - d_c_s = d_c_s + 12000 и c_nm = c_nm || '- 1'
- для макс (r_c_p) - d_c_s = d_c_s + 12000 и c_nm = c_nm || '- 2'
Вывод будет:
u_a_id d_c_s c_nm c_seq r_c_p
1 908 Test1 1 20
10 908 Test1 1 21
11 908 Test1 1 12
12759 12908 Test1 - 1 1 31
12759 12908 Test1 - 2 1 32
12861 12878 Test2 - 1 1 43
12861 12878 Test2 - 2 1 44
DB Fiddle - Ссылка