sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo puedo devolver varias filas idénticas en función de un campo de cantidad en la fila misma?

He usado 15 como máximo para el ejemplo, pero debe establecerlo en 9999 o la cantidad máxima que admita.

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;