У меня есть таблица со следующими столбцами:
GRVLID
GRID
Timein
Timeout
Эта таблица является частью системы отслеживания посетителей.
Есть еще одна таблица, которая содержит информацию о каждом посетителе. Эта таблица отслеживает каждый раз, когда посетитель входит и выходит из системы.
GRVLID
- уникальный идентификатор записи.GRID
- это номер идентификатора посетителя.Каждый посетитель имеет свой номер GRID
.Timein
- это дата и время, когда посетитель вошел в систему. Timeout
- это дата и время, когда посетитель вышел из системы.
Каждый раз, когда посетитель входит в систему, создается новая запись.Так что было бы возможно иметь несколько записей с одним и тем же номером GRID
.Число GRVLID
является уникальным и просто увеличивается при добавлении новых записей.
Мне нужен оператор update-set-where, который обновляет запись с наибольшим номером GRVLID
для данного GRID
число.Я пытался сделать:
update database
set [TimeOut] = @p_timeOut
where (GRID = @p_GRID and MAX(GRVLID))
, но это не похоже на игру с MSSQL
.Есть идеи?