У меня есть данные о посещаемости с SQL Server, которые я должен разделить на 2 столбца (вход и выход).
Вот пример:
Данные
И вот результат, который я хочу
![enter image description here](https://i.stack.imgur.com/pw4Ch.png)
Запрос:
CREATE TABLE [dbo].[Table1]
(
[ID] [varchar](50) NULL,
[DATETIME] [datetime] NULL,
[Flag] [int] NULL
)
INSERT INTO table1
VALUES ('ID-1', '2019-03-13 09:48:00.000', '2'),
('ID-1', '2019-03-13 09:48:00.000', '2'),
('ID-1', '2019-03-13 18:11:00.000', '3'),
('ID-1', '2019-03-13 18:11:00.000', '3'),
('ID-1', '2019-03-14 02:00:00.000', '3'),
('ID-1', '2019-03-14 09:54:00.000', '2'),
('ID-1', '2019-03-14 09:54:00.000', '2'),
('ID-1', '2019-03-14 09:54:00.000', '2'),
('ID-1', '2019-03-14 22:00:00.000', '3'),
('ID-1', '2019-03-14 22:00:00.000', '3'),
('ID-1', '2019-03-14 22:00:00.000', '3'),
('ID-1', '2019-03-15 13:55:00.000', '2'),
('ID-1', '2019-03-15 13:55:00.000', '2'),
('ID-1', '2019-03-15 13:55:00.000', '2'),
('ID-1', '2019-03-15 13:55:00.000', '2'),
('ID-1', '2019-03-15 13:55:00.000', '2'),
('ID-1', '2019-03-15 22:00:00.000', '3'),
('ID-1', '2019-03-15 22:00:00.000', '3'),
('ID-1', '2019-03-15 22:00:00.000', '3'),
('ID-1', '2019-03-15 22:00:00.000', '3')
Примечание:
Флаг 2 означает IN, а 3 означает OUT.
Возможна более чем одна регистрация заезда и отъезда, поэтому мы должны пройти первую и последнюю регистрацию.
Могут быть сверхурочные, поэтому иногда мы должны проверить данные о выезде со следующего дня.
Как я могу это сделать?