select ('1,2,3,4') as AA,1 id from DUAL
union all
select ('4,5,6,7') as AA,2 id from DUAL
union all
select ('7,8,9') as aa,3 id from dual
如下图
通过递归数据将一列数据转化为行展示
with TEMP as(
select ('1,2,3,4') as AA,1 id from DUAL
union all
select ('4,5,6,7') as AA,2 id from DUAL
union all
select ('7,8,9') as aa,3 id from dual
)
select REGEXP_SUBSTR(aa, '[^,]+', 1, level) as bb, id
from temp
where aa is not null
connect by level <= REGEXP_COUNT(AA, '[^,]+')
and id= prior id
and prior DBMS_RANDOM.value > 0;