Нет ограничений, вы можете просто объединить результат cte с другими таблицами.Cte - это подзапрос, но он делает ваш код более читабельным.
;with cte as(
select client,myuser,lastlogin,row_number() over(partition by client order by lastlogin desc) r#
from @mytable
)
SELECT t1.id, t2.name
FROM table1 t1
JOIN table2 t2 ON (t2.id = t1.id)
JOIN cte t3 ON (...)
WHERE t1.id = 1
Это то же самое, что запрос с cte.
SELECT t1.id, t2.name
FROM table1 t1
JOIN table2 t2 ON (t2.id = t1.id)
JOIN ( select client,myuser,lastlogin,row_number() over(partition by client order by lastlogin desc) r#
from @mytable) t3 ON (...)
WHERE t1.id = 1