У меня есть запрос на выборку в MySQL, показанный ниже:
Этот запрос выполняется и выдает результаты в виде таблицы
Current | Past1 | Past2 | Past 3 | Past4
200 600 800 000 88
-----------------------------------------------
Я бы хотел перенести эти результаты, чтобы получить информацию в форме: Поэтому я хотел бы, чтобы результаты были (транспонированы)
Current 200
Past1 600
Past2 800
Past3 000
Past4 88
Можно ли это сделать с помощью оператора SQL в oracle или мне нужна процедура PL SQL для этого. Если PL SQL может предоставить примерную ссылку на него.
select
sum(case
when CPT_ORIGINATED > SUBDATE(DATE(NOW()),30) THEN 1 else 0
end) as Current,
sum(case
when CPT_ORIGINATED > SUBDATE(DATE(NOW()),60) AND CPT_ORIGINATED < SUBDATE(DATE(NOW()),30) THEN 1 else 0
end) as Past1,
sum(case
when CPT_ORIGINATED > SUBDATE(DATE(NOW()),90) AND CPT_ORIGINATED < SUBDATE(DATE(NOW()),60) THEN 1 else 0
end) as Past2,
sum(case
when CPT_ORIGINATED > SUBDATE(DATE(NOW()),120) AND CPT_ORIGINATED < SUBDATE(DATE(NOW()),90) THEN 1 else 0
end) as Past3,
sum(case
when CPT_ORIGINATED > SUBDATE(DATE(NOW()),150) AND CPT_ORIGINATED < SUBDATE(DATE(NOW()),120) THEN 1 else 0
end) as Past4
from `cpt-prod`
where CPT_STATE <> 'Closed'