• This one works perfectly:

    .

    .

    INNER JOIN dbo.v_R_System s ON p.ResourceID = s.ResourceID

    ) , cteRank AS (

    SELECT cte.UserName

    , RANK() OVER (PARTITION BY cte.UserName ORDER BY rnk.RankID) AS ProductRank

    , rnk.vsVersion

    FROM cteUsersAndSoftware cte

    INNER JOIN #swRank rnk ON cte.Software = rnk.vsVersion)

    SELECT UserName, vsVersion FROM cteRank

    WHERE ProductRank = 1

    Again, thanks a lot 🙂