create table opros_res (dattim timestamp, n_op int, answ varchar(10));
------------------------------------------------------
insert into opros_res values (TO_TIMESTAMP('16.01.2014 20:35', 'dd.mm.yyyy hh24:mi'), 1 , '1,4,6');
insert into opros_res values (TO_TIMESTAMP('16.01.2014 20:35', 'dd.mm.yyyy hh24:mi'), 1 , '3,3,3');
insert into opros_res values (TO_TIMESTAMP('27.01.2014 19:41', 'dd.mm.yyyy hh24:mi'), 3 , '6,5,2');
insert into opros_res values (TO_TIMESTAMP('29.01.2014 16:23', 'dd.mm.yyyy hh24:mi'), 3 , '1,6,7');
insert into opros_res values (TO_TIMESTAMP('30.01.2014 12:45', 'dd.mm.yyyy hh24:mi'), 4 , '7,4,5');
insert into opros_res values (TO_TIMESTAMP('30.01.2014 12:53', 'dd.mm.yyyy hh24:mi'), 5 , '6,1');
insert into opros_res values (TO_TIMESTAMP('01.02.2014 14:29', 'dd.mm.yyyy hh24:mi'), 9 , '2,7');
insert into opros_res values (TO_TIMESTAMP('06.02.2014 11:36', 'dd.mm.yyyy hh24:mi'), 3 , '2,1,6');
insert into opros_res values (TO_TIMESTAMP('10.02.2014 13:52', 'dd.mm.yyyy hh24:mi'), 2 , '7,1');
insert into opros_res values (TO_TIMESTAMP('15.02.2014 11:19', 'dd.mm.yyyy hh24:mi'), 3 , '5,3,2');
insert into opros_res values (TO_TIMESTAMP('17.02.2014 14:51', 'dd.mm.yyyy hh24:mi'), 7 , '6,7');
insert into opros_res values (TO_TIMESTAMP('24.02.2014 13:11', 'dd.mm.yyyy hh24:mi'), 4 , '4,7');
insert into opros_res values (TO_TIMESTAMP('24.02.2014 13:16', 'dd.mm.yyyy hh24:mi'), 5 , '1,3,6');
insert into opros_res values (TO_TIMESTAMP('24.02.2014 13:26', 'dd.mm.yyyy hh24:mi'), 8 , '5,7');
insert into opros_res values (TO_TIMESTAMP('24.04.2014 13:26', 'dd.mm.yyyy hh24:mi'), 9 , '7,3,1');
insert into opros_res values (TO_TIMESTAMP('24.04.2014 14:39', 'dd.mm.yyyy hh24:mi'), 2 , '3,2,7');
insert into opros_res values (TO_TIMESTAMP('24.02.2014 18:35', 'dd.mm.yyyy hh24:mi'), 1 , '3,2');
insert into opros_res values (TO_TIMESTAMP('24.02.2014 18:36', 'dd.mm.yyyy hh24:mi'), 1 , '2,5,1');
insert into opros_res values (TO_TIMESTAMP('24.02.2014 18:36', 'dd.mm.yyyy hh24:mi'), 1 , '7');
insert into opros_res values (TO_TIMESTAMP('24.02.2014 18:38', 'dd.mm.yyyy hh24:mi'), 8 , '1,5');
insert into opros_res values (TO_TIMESTAMP('27.02.2014 15:18', 'dd.mm.yyyy hh24:mi'), 6 , '1,5,3');
insert into opros_res values (TO_TIMESTAMP('05.03.2014 16:59', 'dd.mm.yyyy hh24:mi'), 3 , '6,7,2');
insert into opros_res values (TO_TIMESTAMP('12.03.2014 16:57', 'dd.mm.yyyy hh24:mi'), 1 , '4,6');
insert into opros_res values (TO_TIMESTAMP('20.03.2014 14:58', 'dd.mm.yyyy hh24:mi'), 4 , '3');
insert into opros_res values (TO_TIMESTAMP('24.04.2014 9:55', 'dd.mm.yyyy hh24:mi'), 8, '2,6,7');
------------------------------------------------------
WITH NewTable AS (
SELECT
TO_CHAR(dattim, 'MM.YYYY') AS month_year,
TRIM(REGEXP_SUBSTR(answ, '[^,]+', 1, LEVEL)) AS answ
FROM
opros_res
CONNECT BY
PRIOR sys_guid() IS NOT NULL
AND PRIOR dattim = dattim
AND PRIOR n_op = n_op
AND LEVEL <= REGEXP_COUNT(answ, ',') + 1;
)
SELECT *
FROM
NewTable