WITH t AS ( SELECT '2011' yyyy, '대한민국,미국,일본,중국' v FROM dual UNION ALL SELECT '2012', '영국,미국,호주' FROM dual UNION ALL SELECT '2013', '프랑스,독일,스위스' FROM dual ) SELECT MIN(DECODE(yyyy, '2011', REGEXP_SUBSTR(v, '[^,]+', 1, lv))) "2011" , MIN(DECODE(yyyy, '2012', REGEXP_SUBSTR(v, '[^,]+', 1, lv))) "2012" , MIN(DECODE(yyyy, '2013', REGEXP_SUBSTR(v, '[^,]+', 1, lv))) "2013" FROM t , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 9) WHERE lv <= REGEXP_COUNT(v, '[^,]+') GROUP BY lv ORDER BY lv ;