Oracle SQL用于打印特定列的行次数

时间:2012-01-11 21:22:25

标签: sql oracle

我需要帮助编写SQL查询(在Oracle中)。

我有这张桌子:

 output_value | output_count
--------------+--------------
 abc          |            2
 def          |            3

期望的输出:

abc
abc
def
def
def

基本上,我希望输出的每个output_value值都包含output_count次。

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

您是否需要CTE才能获得结果:

create table t ( t  varchar2(50) , i  int );

insert into t values ( 'abc', 2);
insert into t values ( 'xyz', 3);

with cte (t,i) as (
   select t.t, t.i from t
   union all
   select cte.t, cte.i - 1 as i
   from cte
   where cte.i > 1
)
select cte.t
from cte

结果:

t   
--- 
abc 
xyz 
xyz 
xyz 
abc 

由@a_horse_with_no_name

从MSSQL转换为ORACLE语法