select user.name, client.name, d date
from user,
client,
(select *, max(date) over(partition by user_id) d from login) t
where user.id = t.user_id
and client.id = t.client_id
and t.date = t.d
order by user.name
;