I have table GetTicketNumbers
i UID TicketNumber
2 09901a22c7c3acc6786847c775f1d113 10
6 00dad28bef21f916240d6e8c1c1bd67d 5
12 00dad28bef21f916240d6e8c1c1bd67d 20
I need to produced 35 rows (UID also must be present in result, because this is only one table and this table need to join on upper layer)
10 sequence number started from 1 (row i=2)
than next 5 sequence number (row i=6)
than next 20 sequence number (row i=12)
I need something like this, but not complete this query
With RECURSIVE cte (i, UID, TicketNumbers) as
(
Select i, UID, TicketNumbers from GetTicketNumbers
union all
Select i + 1, UID, TicketNumbers from cte where ?????
) select * from cte order by i;
I use MySQL.
Add RowNo + 1 until RowNo reaches TicketNumber
WITH RECURSIVE CTE AS (
SELECT i, UID, TicketNumber, 1 AS RowNo FROM TicketData
UNION ALL
SELECT i, UID, TicketNumber, RowNo+1
FROM CTE c
WHERE RowNo < TicketNumber
)
SELECT *, ROW_NUMBER() OVER (ORDER BY i,RowNo) as TotalRowNumber
FROM CTE;