按列复制指定次数

来源:互联网 发布:对大量网络用语的看法 编辑:程序博客网 时间:2024/05/22 21:50

表记录如下:

field num
 A 2
 B 3
 C 1

想实现的结果如下

field
 A
 A
 B
 B
 B
 C

with t(field,num) as(select 'A',2 from dualunion select 'B',3 from dualunion select 'C',1 from dual)select regexp_substr((select wm_concat(rpad(field,num*2-1,','||field))from t),'[^,]+',1,rownum) field from dual connect by rownum<=(select sum(num) from t);
--结果/*FIELD                                                                          --------------------------------------------------------------------------------A                                                                               A                                                                               B                                                                               B                                                                               B                                                                               C                                                                               已选择6行。*/


 

原创粉丝点击