• Reworked another forum solution

    DROP TABLE #TempBet

    CREATE TABLE #TempBet

    (Id int, Low int, High int)

    INSERT INTO #TempBet (Id, Low, High)

    SELECT 1, 1, 3 UNION ALL

    SELECT 2, 2, 3 UNION All

    SELECT 3, 5, 8

    ; WITH Info (Id, Low, High, Result) AS (

    SELECT Id, Min(Low), Max(High), Min(Low)

    FROM #TempBet

    GROUP BY Id

    UNION ALL

    SELECT Id, Low, High, Result + 1

    FROM Info

    WHERE Result < High )

    SELECT * FROM Info

    ORDER BY Id, Result