当前位置: 代码迷 >> Oracle管理 >> ,按照一定的数量,如何将一行数据复制多行,oracle的树查询可以,但是得将每一行数据按照一定的数量复制为多行
  详细解决方案

,按照一定的数量,如何将一行数据复制多行,oracle的树查询可以,但是得将每一行数据按照一定的数量复制为多行

热度:75   发布时间:2016-04-24 04:44:27.0
各位高手,按照一定的数量,怎么将一行数据复制多行,oracle的树查询可以,但是得将每一行数据按照一定的数量复制为多行
with t as(
select 1 id, 2 count, 't1' user_name from dual
)
select id, count, user_name, rownum rn from t connect by rownum <= t.count;
这样只能将一行数据按照count复制为多行,但是有多行数据的情况下,需要将每一行的数据按照count复制多行,然后放在一个结果集中,怎么办,请各位高手帮忙看看

------解决方案--------------------
with t as(
select 1 id, 2 count, 't1' user_name from dual
union all
select 1,3,'t2' from dual
)
select * from t,
(select rownum rn from t connect by rownum <= count) b
where count>=rn

ID                     COUNT                  USER_NAME RN                     
---------------------- ---------------------- --------- ---------------------- 
1                      3                      t2        3                      
1                      3                      t2        2                      
1                      3                      t2        1                      
1                      2                      t1        2                      
1                      2                      t1        1                      
  相关解决方案