Hi,
I wrote the following peace of code
WITH t AS
(SELECT m.*, COUNT (*) cnt
FROM (SELECT nspp.ppp_name_agg, a.mkt_id prod_id, a.cal_date dt,
CASE
WHEN a.rec_count <> 'NR'
THEN 0
ELSE 1
END otd_flg
FROM ap_fact_file_count a,
ap_rep_file_dim b,
ap_rep_src_dim spp,
ap_ods.ods_ppp_master_new nspp
WHERE a.file_dim_key = b.file_dim_key
AND a.src_dim_key = spp.src_dim_key
AND spp.src_key = nspp.ppp_key
AND a.rec_count NOT IN ('NE')
AND b.delivery_status = 'Y'
AND a.cal_date < TRUNC (SYSDATE, 'mon')) m
GROUP BY m.ppp_name_agg, m.prod_id, m.dt, m.otd_flg),
t1 AS
(SELECT ppp_name_agg , SUM (cnt) / COUNT (DISTINCT prod_id) tcnt,
TO_CHAR (dt, 'yyyymm') dt
FROM t
WHERE TO_CHAR (dt, 'yyyymm') > '201507'
GROUP BY t.ppp_name_agg, TO_CHAR (t.dt, 'yyyymm'))
,t2 AS
(SELECT ppp_name_agg, TO_CHAR (dt, 'yyyymm') dt,
SUM (cnt) / COUNT (DISTINCT prod_id) pcnt
FROM t
WHERE otd_flg = 0
GROUP BY ppp_name_agg, TO_CHAR (dt, 'yyyymm'))
SELECT t1.ppp_name_agg, t1.dt, t2.pcnt / t1.tcnt
FROM t1, t2
WHERE t1.ppp_name_agg = t2.ppp_name_agg AND t1.dt = t2.dt
/
I am not sure what iss wrong with this code but it throws the following error.
WITH t AS
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 8577
Session ID: 299 Serial number: 14463
Thank you in advance.
Regards,
Pointers