小心case when 裏面的判斷
SELECT T7.XXC_TYPE,
T7.EVENT_ID,DECODE(T7.DIS_END, 0, 1, 0) COL0,
DECODE(T7.DIS_END, 1, 1, 0) COL1,
DECODE(T7.DIS_END, 2, 1, 0) COL2,
DECODE(T7.DIS_END, 3, 1, 0) COL3,
DECODE(T7.DIS_END, 4, 1, 0) COL4,
DECODE(T7.DIS_END, 5, 1, 0) COL5,
DECODE(T7.DIS_END, 6, 1, 0) COL6
FROM (SELECT T6.XXC_TYPE,
T6.EVENT_ID,
CASE
WHEN T6.START_END_DIFF > 0 AND
T6.START_END_DIFF <= 10 THEN
0
WHEN T6.START_END_DIFF <= 20 THEN
1
WHEN T6.START_END_DIFF <= 30 THEN
2
WHEN T6.START_END_DIFF <= 40 THEN
3
WHEN T6.START_END_DIFF <= 50 THEN
4
WHEN T6.START_END_DIFF <= 60 THEN
5
ELSE
6
END DIS_END
FROM (SELECT T5.XXC_TYPE,
T4.EVENT_ID,
ABS((T3.OUTAGE_START_TIME -
T4.OUTAGE_START_TIME) * 24 * 60) START_TIME_DIFF,
ABS((T3.OUTAGE_END_TIME - T4.OUTAGE_END_TIME) * 24 * 60) START_END_DIFF
FROM DMS_CRC_EVENT_RIMS_TRANS T3,
DMS_CRC_EVENT_SD_TRANS T4,
(SELECT T1.EVENT_ID RIMS_EVENT_ID,
T2.EVENT_ID SD_EVENT_ID,
T1.XXC_TYPE
FROM DMS_CRC_EVENT_RIMS T1,
DMS_CRC_EVENT_SD T2
WHERE T1.XXC_EVENT_ID = T2.OUTAGE_ID AND
T1.XXC_TYPE = T2.XXC_TYPE
AND T1.XXC_TYPE IN (2)
AND t2.event_id=909069
AND T1.OUTAGE_START_TIME BETWEEN TO_DATE('2013-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND
TO_DATE('2013-11-30 23:59:59', 'YYYY-MM-DD HH24:MI:SS')) T5
WHERE T3.TRANS_CODE = T4.TRANS_CODE AND
T3.EVENT_ID = T5.RIMS_EVENT_ID
AND T4.EVENT_ID = T5.SD_EVENT_ID
) T6) T7
GROUP BY T7.XXC_TYPE, T7.EVENT_ID, T7.DIS_END