Чтобы получить дату последнего входа в систему, для этого потребуется либо собственный предварительный выбор по лицу, либо выбрать max () из сведений о входе в систему для текущего сотрудника в качестве поля выбора.Вот почему вы получаете несколько строк ... каждая дата входа будет создавать новую "отдельную" запись ... Попробуйте
Что касается вашего предложения "Order By" ... Так как вы делаете заказ администраторомсначала группа идентификаторов, затем идентификаторы сотрудников в этой группе, последняя дата входа никогда не будет иметь значения, поскольку это самая низкая точка, и, поскольку нет дублирующих сотрудников, это не повлияет.
В противном случае вы можете изменить порядок на основестолбец LastLogin предзапроса по убыванию ...
SELECT DISTINCT
ta.comp_name,
emp.emp_fname,
emp.date_registered,
PreQuery.LastLogin
FROM
tb1_admin_detail ta
join tb1_employee_personalinfo emp
on ta.unit_id = emp.unit_id
and emp.Active = 1
join ( select login.emp_id,
max( login.login_date ) as LastLogin
from
tb1_employee_login_detail login
group by
login.emp_id ) PreQuery
on emp.emp_id = PreQuery.emp_ID
order BY
ta.unit_id,
emp.emp_id