SELECT Y1.Myyear||'/'||SUBSTR(TO_NUMBER(Y1.MYYEAR)+1,1) AS YEAR, SUM(Y2.FILCOUNT) AS "Cumulative Filing Case", SUM(Y2.GRTCOUNT) As "Cumulative Granted Case"
FROM
( SELECT Myyear AS ID, Myyear, SUM(FILCOUNT) AS FILCOUNT, SUM(GRTCOUNT) AS GRTCOUNT
FROM ( SELECT extract (year from add_months(NVL(FILL.eventdate,FIL.eventdate), -3)) as Myyear, COUNT (NVL(FILL.eventdate,FIL.eventdate)) AS FILCOUNT, NULL AS GRTCOUNT FROM CASES C
LEFT JOIN CASEEVENT FIL ON C.CASEKEY = FIL.CASEKEY AND FIL.EVENTKEY = 10
LEFT JOIN CASEEVENT FILL ON C.CASEKEY = FILL.CASEKEY AND FILL.EVENTKEY = 110
JOIN CASENAME CN ON C.CASEKEY = CN.CASEKEY AND CN.NAMETYPEKEY = 206
JOIN NAME N ON CN.NAMEKEY = N.NAMEKEY AND ( N.NAME = 'xxxx' OR N.NAMECODE = 'xxxx' )
WHERE FIL.EVENTDATE IS NOT NULL AND C.CASETYPEKEY = 1
GROUP BY extract (year from add_months(NVL(FILL.eventdate,FIL.eventdate), -3))
UNION
SELECT extract (year from add_months(GRT.eventdate, -3)) as Myyear, NULL AS FILCOUNT, COUNT (GRT.EVENTDATE) AS GRTCOUNT FROM CASES C
LEFT JOIN CASEEVENT GRT ON C.CASEKEY = GRT.CASEKEY AND GRT.EVENTKEY = 25
JOIN CASENAME CN ON C.CASEKEY = CN.CASEKEY AND CN.NAMETYPEKEY = 206
JOIN NAME N ON CN.NAMEKEY = N.NAMEKEY AND ( N.NAME = 'xxxx' OR N.NAMECODE = 'xxxx' )
WHERE GRT.EVENTDATE IS NOT NULL AND C.CASETYPEKEY = 1
GROUP BY extract (year from add_months(GRT.eventdate, -3)) ) X1
GROUP BY MYYEAR ORDER BY 1 ) Y1
JOIN
( SELECT Myyear AS ID, Myyear, SUM(FILCOUNT) AS FILCOUNT, SUM(GRTCOUNT) AS GRTCOUNT
FROM ( SELECT extract (year from add_months(NVL(FILL.eventdate,FIL.eventdate), -3)) as Myyear, COUNT (NVL(FILL.eventdate,FIL.eventdate)) AS FILCOUNT, NULL AS GRTCOUNT FROM CASES C
LEFT JOIN CASEEVENT FIL ON C.CASEKEY = FIL.CASEKEY AND FIL.EVENTKEY = 10
LEFT JOIN CASEEVENT FILL ON C.CASEKEY = FILL.CASEKEY AND FILL.EVENTKEY = 110
JOIN CASENAME CN ON C.CASEKEY = CN.CASEKEY AND CN.NAMETYPEKEY = 206
JOIN NAME N ON CN.NAMEKEY = N.NAMEKEY AND ( N.NAME = 'xxxx' OR N.NAMECODE = 'xxxx' )
WHERE FIL.EVENTDATE IS NOT NULL AND C.CASETYPEKEY = 1
GROUP BY extract (year from add_months(NVL(FILL.eventdate,FIL.eventdate), -3))
UNION
SELECT extract (year from add_months(GRT.eventdate, -3)) as Myyear, NULL AS FILCOUNT, COUNT (GRT.EVENTDATE) AS GRTCOUNT FROM CASES C
LEFT JOIN CASEEVENT GRT ON C.CASEKEY = GRT.CASEKEY AND GRT.EVENTKEY = 25
JOIN CASENAME CN ON C.CASEKEY = CN.CASEKEY AND CN.NAMETYPEKEY = 206
JOIN NAME N ON CN.NAMEKEY = N.NAMEKEY AND ( N.NAME = 'xxxx' OR N.NAMECODE = 'xxxx' )
WHERE GRT.EVENTDATE IS NOT NULL AND C.CASETYPEKEY = 1
GROUP BY extract (year from add_months(GRT.eventdate, -3)) ) X2
GROUP BY MYYEAR ORDER BY 1 ) Y2 ON Y1.ID >= Y2.ID
GROUP BY Y1.ID, Y1.Myyear
ORDER BY 1
沒有留言:
發佈留言