मुझे लगता है, क्वेरी (एसक्यूएल) के साथ हल करना बेहतर है। कुछ पीढ़ी की सुविधा है, लेकिन इसका प्रदर्शन खराब है।
आपको अपना मॉडल बदलना होगा (हमेशा 1 मात्रा स्टोर करें), या इसे बैकएंड में संसाधित करें (जावा/सी/एसटीबी।)
Select id,
1 as quantity,
price_charged
from table_name t
JOIN
(SELECT e*10000+d*1000+c*100+b*10+a n FROM
(select 0 a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t1,
(select 0 b union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t2,
(select 0 c union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t3,
(select 0 d union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t4,
(select 0 e union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t5) counter
ON (counter.n<=t.quantity)
शामिल सबक्वेरी ने 0 से 99999 तक की संख्याओं को फिर से दोहराया, यह मात्रा के लिए अधिकतम बर्न है। जॉइन रिपीट बाई काउंटर 0... मात्रा-1 मान।