• What do you mean by "Total # of tires for the size"?

    Here's your data set up in a consumable format:

    DROP TABLE #Table1

    CREATE TABLE #Table1 (DealerID INT, RepairID INT)

    INSERT INTO #Table1 VALUES

    (1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),

    (1,8),(1,9),(1,10),(2,11),(2,12),(2,13)

    DROP TABLE #Table2

    CREATE TABLE #Table2 (RepairID INT, Tire VARCHAR(15))

    INSERT INTO #Table2 VALUES (1,'225/65R17 102T'),

    (2,'225/65R17 102T'),(3,'225/65R17 102T'),(4,'235/60R18 102V'),

    (5,'235/60R18 102V'),(6,'235/60R18 102V'),(7,'235/60R18 102V'),

    (8,'205/55R16 89H'),(9,'205/70R15 89H'),(13,'225/65R17 102T')

    Here's a query built upon your data which may go some way towards what you're trying to do:

    SELECT DealerID, Tire, RepairsOfThisTyre, RepairCount = SUM(RepairsOfThisTyre) OVER(PARTITION BY DealerID)

    FROM (

    SELECT DealerID, Tire, RepairsOfThisTyre = COUNT(*)

    FROM #Table1 d

    INNER JOIN #Table2 r ON r.RepairID = d.RepairID

    GROUP BY DealerID, Tire

    ) d

    ORDER BY DealerID, RepairsOfThisTyre DESC

    How close is this to your requested result?

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden