Вам необходимо использовать функции AGGREGATE для полей, которые используются в операторе SELECT
:
SELECT name,
MIN(department)
, MAX(jointime) LatestDate,
, MIN(employeeId)
FROM employee where department='Mechanical'
GROUP BY name
SQL-сервер находит все записи с именами Tom
или Erik
, но SQL Server не знаеткакое одно значение из нескольких строк следует выбрать для таких полей, как department
или employeeId
.Используя агрегированные функции, вы советуете SQL Server получить значения MIN
, MAX
, SUM
, COUNT
этих столбцов.
ИЛИ использовать эти столбцы в предложении GROUP BY, чтобы получитьвсе уникальные строки:
SELECT name
, department
, jointime
, employeeId
FROM employee where department='Mechanical'
GROUP BY name
, department
, jointime
, employeeId