У меня sql 2005, и когда я запускаю запрос ниже, данные из таблицы RealTimeLog переносятся в историю, но когда новые данные поступают в таблицу RealTimeLog, старые данные не изменяются на новые, что означает, что данные OutTime не изменяются с новыми данными из RealTimeLog.
INSERT INTO History
(UserID,
UserName,
LogDate,
[InTime],
[OutTime])
SELECT UserID,
UserName,
[LogDate],
CONVERT(NVARCHAR, MIN(CONVERT(DATETIME, [LogTime], 108)), 108),
CONVERT(NVARCHAR, MAX(CONVERT(DATETIME, [LogTime], 108)), 108)
FROM RealTimeLog
WHERE NOT EXISTS (SELECT *
FROM History H
WHERE H.UserID = RealTimeLog.UserID
AND H.UserName = RealTimeLog.UserName
AND H.LogDate = RealTimeLog.LogDate)
GROUP BY UserID,
UserName,
[LogDate]
ORDER BY UserID,
[LogDate]
для примера.
1 Shanks 02/05/2010 9:00 10:00
, если новое Макс. Время, сгенерированное в RealtimeLog, равняется 11:00, то оно не вставляется в таблицу истории, и выходные данные остаются такими же, как указано выше.