Cycle through values in a table
Based on the recent changes to your question, I've completely rewritten my answer.  There may be more efficient ways of doing this, but here's my solution.  Let me know if I have misunderstood your request.

--set up demo data
declare @Table1 table (no int, ticket varchar(5))
insert into @Table1 (no, ticket) values
(1,'T1'),(2,'T2'),(3,'T3'),(4,'T4'),(5,'T5'),(6,'T6'),(7,'T7'),(8,'T8'),(9,'T9'),(10,'T10'),(11,'T11')

declare @Table2 table (ID int, CustomerId varchar(5))
insert into @Table2 (id, CustomerId) values(1,'C1'),(2,'C2'),(3,'C3'),(4,'C4')

--The actual solution
;
--Table2 row count
WITH Table2RowCount 
AS (
    SELECT count(*) AS T2RowCount
    FROM @Table2
    )
--Add row number (sequence) to Table1 rows
    ,Table1AndRowNumber 
AS (
    SELECT *
        ,row_number() OVER (
            ORDER BY no
            ) AS sequence
    FROM @Table1
    )
--Add row number (sequence) to Table2 rows
    ,Table2AndRowNumber 
AS (
    SELECT *
        ,row_number() OVER (
            ORDER BY id
            ) AS sequence
    FROM @Table2
    )
--Add a grouping column for Table1 using the modulus operator
--This grp column will be used to join up against the sequence column of Table2
    ,Table1Grouped      
AS (
    SELECT *
        ,CASE 
            WHEN t1arn.sequence % (t2rc.T2RowCount) = 0
                THEN (t2rc.T2RowCount)
            ELSE t1arn.sequence % (t2rc.T2RowCount)
            END AS grp
    FROM Table1AndRowNumber t1arn
    CROSS APPLY Table2RowCount t2rc
    )
SELECT t1g.ticket
    ,t2arn.CustomerId
FROM Table1Grouped t1g
JOIN Table2AndRowNumber t2arn ON t2arn.sequence = t1g.grp




| ticket | CustomerId |
|--------|------------|
| T1     | C1         |
| T2     | C2         |
| T3     | C3         |
| T4     | C4         |
| T5     | C1         |
| T6     | C2         |
| T7     | C3         |
| T8     | C4         |
| T9     | C1         |
| T10    | C2         |
| T11    | C3         |