Tôi đã sử dụng tối đa 15 cho ví dụ này, nhưng bạn nên đặt nó thành 9999 hoặc bất kỳ số lượng tối đa nào bạn sẽ hỗ trợ.
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;