실제 테이블 구조가 없어서 어떻게 만들어야 하는 건지 감이 안 오네요.
A, B로만 구성된 것도 아닐 것 같고.. 설명을 좀더 자세히 해주시면 좋을 것 같은데.. 소멸금액은 뭔지..
내년도 이월금액은 최종 값(엑셀에서는 B)에만 있는 것인지.. 기타 등등
최종적으로는 update문을 만드려고 하시는 거죠?
단순히 지금 표를 바꿔보면
with t as ( select 'A' gb, 3500000 thisYamt, 0 nextYamt from dual union all select 'B', 3225647, 3574353 from dual ) select gb , decode(rn,cnt,5600000-sum(thisyamt) over(order by gb rows between unbounded preceding and 1 preceding),thisyamt) thisyamt , thisyamt + nextyamt - decode(rn,cnt,5600000-sum(thisyamt) over(order by gb rows between unbounded preceding and 1 preceding),thisyamt) nextyamt from ( select gb, thisyamt, nextyamt, row_number() over(order by gb) rn, count(1) over() cnt from t )