1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| With MaTable as
(
select 'FR' as id, 'FRANCE' as c1, 'FRA.' as c2, 1 as ver from dual union all
select 'FR' , 'FRANCE' , 'FRA' , 2 from dual union all
select 'FR' , 'TOTO' , 'FRA' , 3 from dual union all
select 'US' , 'USA' , 'USA' , 1 from dual
)
select id
, case when c1 <> lag(c1, 1, 'A') over(partition by id order by ver asc) then c1 end as c1
, case when c2 <> lag(c2, 1, 'A') over(partition by id order by ver asc) then c2 end as c2
, ver
from MaTable
order by id asc, ver asc;
ID C1 C2 VER
-- ------ ---- ---
FR FRANCE FRA. 1
FR FRA 2
FR TOTO 3
US USA USA 1 |
Partager