Tôi nghĩ, tốt hơn là nên giải quyết không bằng truy vấn (SQL). Có một số tính năng tạo, nhưng hiệu suất của nó kém.
Bạn phải thay đổi mô hình của mình (lưu trữ luôn 1 số lượng) hoặc xử lý trong phần phụ trợ (java / c / stb.)
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)
Truy vấn con đã tham gia đã thu thập các số từ 0 đến 99999, đó là mức ghi tối đa cho số lượng. Phép nối lặp lại bởi bộ đếm 0 ... số lượng-1 giá trị.