Hi I have a query like this that I need to turn it into a function or stored procedure. Passing into one parameter for the date used in the query.
Later I will be calling either the SP or Function from Apex to create either interactive report or classic report.
Thank you
COLUMN m1_col NEW_VALUE m1
COLUMN m2_col NEW_VALUE m2
COLUMN m3_col NEW_VALUE m3
COLUMN m4_col NEW_VALUE m4
COLUMN m5_col NEW_VALUE m5
COLUMN m6_col NEW_VALUE m6
COLUMN m7_col NEW_VALUE m7
COLUMN m8_col NEW_VALUE m8
COLUMN m9_col NEW_VALUE m9
COLUMN m10_col NEW_VALUE m10
COLUMN m11_col NEW_VALUE m11
COLUMN m12_col NEW_VALUE m12
set define on
with months_to_pivot AS
(
SELECT LEVEL AS num, TO_CHAR ( ADD_MONTHS ( to_date('01/01/2018', 'mm/dd/yyyy'), LEVEL - 1) , 'MON_YY' ) AS str
FROM dual
CONNECT BY LEVEL <= 12
)
SELECT *
FROM months_to_pivot
PIVOT ( MIN (str)
FOR num IN (
1 AS m1_col
, 2 AS m2_col
, 3 AS m3_col
, 4 AS m4_col
, 5 AS m5_col
, 6 AS m6_col
, 7 AS m7_col
, 8 AS m8_col
, 9 AS m9_col
, 10 AS m10_col
, 11 AS m11_col
, 12 AS m12_col
) );
--create or replace view contract_detail_monthly
--AS
WITH data_to_pivot AS
(
SELECT CP_CONTRACT.ENT_OWNER,
PIPELINE.SHORT_NAME AS PIPELINE,
xx
FROM PIPELINE,
xx
AND CP_CONTRACT.end_date >= TO_DATE ('01/01/2018', 'mm/dd/yyyy')
)
SELECT *
FROM data_to_pivot
PIVOT ( SUM (mth_mdq)
FOR col_num IN (
1 AS &m1
, 2 AS &m2
, 3 AS &m3
, 4 AS &m4
, 5 AS &m5
, 6 AS &m6
, 7 AS &m7
, 8 AS &m8
, 9 AS &m9
, 10 AS &m10
, 11 AS &m11
, 12 AS &m12
)
)
ORDER BY 1;