:
select * into
select 1 DocumentId, 2 Version, '12 ' Url union all
select 1 DocumentId, 1 Version, '31 ' Url union all
select 1 DocumentId, 3 Version, '33 ' Url union all
select 2 DocumentId, 9 Version, '11 ' Url union all
select 2 DocumentId, 1 Version, '12 ' Url union all
select 3 DocumentId, 1 Version, '31 ' Url
) x
select * into
select 1 id union all
select 2 id union all
select 3 id
) y
Select *
from
left join (
select *,
ROW_NUMBER() over(partition by documentid order by version desc) as top_row
from
) as documentVersions on documents.id = documentid
where top_row = 1