Запрос
ниже работает, чтобы свести данные в течение следующих 18 месяцев, но добавить итог в конце любым простым способом?
select * from
( select A,B
months_between(trunc(start_Dt, 'MM'), trunc(sysdate,'MM' ) ) as month_offset,
qty from total_Table
where trunc(start_Dt) >= (SELECT trunc(sysdate) - (to_number(to_char(sysdate,'DD')) - 1) FROM dual ))
pivot(sum( qty) as sum_quantity for
month_offset in ( 1,2, 3, 4 )
order by A, B;
Результат
A B 1 2 3 4 total
A1 B1 100 200 300 400 1000
A2 B2 50 100 150 200 500
select * from
( select A,B
months_between(trunc(start_Dt, 'MM'), trunc(sysdate,'MM' ) ) as month_offset,
qty from total_Table
where trunc(start_Dt) >= (SELECT trunc(sysdate) - (to_number(to_char(sysdate,'DD')) - 1) FROM dual ))
pivot(sum( qty) as sum_quantity for
month_offset in ( 1,2, 3, 4 )
order by A, B;