У меня есть таблица, назовем ее UserTable.
Что я хотел бы сделать, это:
- Найти дубликатUserID
- Сравните StartDate и обновите запись с самой старой StartDate, заполнив EndDate (текущая дата минус 1)
- Сделайте это для всех повторяющихся записей в таблице
Конечный результат должен выглядеть следующим образом:
Я получил его до:
UPDATE UserTable
SET EndDate = GETDATE()-1
WHERE EndDate IS NULL AND StartDate < (GETDATE()) AND
(UserID) in (
select UserID
from UserTable
group by UserID
having count(*) > 1)
Единственное, что я не могу понять, это какобновите только ту, у которой самая старая StartDate. На основе приведенного выше кода все найденные записи обновляются.