Try this:select p2.[personnel #] ,p2.[position description] ,p2.[date] from (select [personnel #] ,max([date]) as [date] from dbo.employees where [personnel #] is not null and [personnel #]<>'' group by [personnel #] ) as p1 inner join dbo.employees as p2 on p1.[personnel #]=p2.[personnel #] and p1.[date]=p2.[date] order by p2.[personnel #]
Or this:select [personnel #] ,[personnel description] ,[date] from (select [personnel #] ,[personnel description] ,[date] ,row_number() over(partition by [personnel #] order by [date] desc) as rn from employees where [personnel #] is not null and [personnel #]<>'' ) as p where rn=1