Letzte Datensätze nur auswählen, wenn eine bestimmte Bedingung erfüllt ist
Ich habe eine Tabelle, die ID, WorkerID, IsActive-Flag (1 oder 0) und LocalTime enthält. Jedes Mal, wenn ein Worker aktiv oder nicht aktiv ist, wird ein Datensatz mit der WorkerID, einem 1- oder 0-Flag-Datensatz und einer Uhrzeit (LocalTime) erstellt.
Ich möchte in eine neue Tabelle einfügen: Wählen Sie in dieser Tabelle für jede eindeutige WorkerID die WorkerID, LocalTime und LocalTime + Time des Datensatzes mit der neuesten LocalTime für diese eindeutige WorkerID aus, wenn das IsActive-Flag für diesen Datensatz 1 ist. Wenn für eine WorkerID der Datensatz mit der neuesten LocalTime einen IsActive-Wert von 1 hat, wählen Sie ihn aus. Wenn für eine WorkerID der Datensatz mit der neuesten LocalTime einen IsActive-Wert von 0 hat, wählen Sie ihn nicht aus.
Beispiel
ID WorkerID IsActive LocalTime
1 11 1 21/04/2015
2 22 0 22/04/2015
3 11 0 21/04/2015
4 22 1 22/04/2015
Es sollte nur ein Datensatz mit der ID 4 ausgewählt werden.