У меня есть следующая таблица, содержащая версии для каждого сотрудника:
EmployeeId Status Department CurrentRecord EmployeeVersion
45 1 33 0 1
45 1 45 0 2
45 2 45 0 3
Я хочу обновить CurrentRecord и установить его равным 1 для записи, имеющей максимальное значение EmployeeVersion (так как это последняя версия), например ниже:
EmployeeId Status Department CurrentRecord EmployeeVersion
45 1 33 0 1
45 1 45 0 2
45 2 45 1 3
Это мой запрос:
UPDATE DimEmployeeSharedV1
SET CurrentRecord = 1
WHERE EmployeeVersion = (
SELECT MAX(e.EmployeeVersion)
FROM DimEmployeeSharedV1 e
WHERE e.EmployeeId = EmployeeId
GROUP BY e.EmployeeId
)
У меня следующая ошибка:
Подзапрос возвратил более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.