Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso retornar várias linhas idênticas com base em um campo de quantidade na própria linha?


Eu usei 15 como máximo para o exemplo, mas você deve defini-lo para 9999 ou qualquer que seja a quantidade máxima que você suportará.
create table t (product_id number, quantity number);
insert into t values (1,3);
insert into t values (2,5);

select t.* 
  from t 
    join (select rownum rn from dual connect by level < 15) a 
                                 on a.rn <= t.quantity
order by 1;