Oracle SQL для печати строк определенного времени столбца - PullRequest
3 голосов
/ 12 января 2012

Мне нужна помощь в написании SQL-запроса (в Oracle).

У меня есть эта таблица:

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

Желаемый вывод:

abc
abc
def
def
def

В основномхотите, чтобы выходные данные включали каждое output_value значение ровно output_count раз.

Ответы [ 2 ]

4 голосов
/ 12 января 2012
2 голосов
/ 12 января 2012

Вам нужен 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 

Переведено из T_SQL в синтаксис ORACLE с помощью @ a_horse_with_no_name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...