Не уверен, что вы ищете, но попробуйте что-то вроде этого (никакие подзапросы не нужны и должны работать на большинстве СУБД, хотя похоже, что вы используете SQL Server):
select t1.DisignationHistoryIDs, t1.employeeId, t1.fromDate from history t1
left join history t2
on t1.employeeId = t2.employeeId and t1.fromDate > t2.fromDate
where t2.fromDate is null
Это должно работатьчтобы получить самую старую дату.Чтобы получить самую новую дату, просто измените >
на <
.