У меня есть список сотрудников, а также список городов, в которых они работали. Мне нужно построить матрицу (на SQL сервере) дат начала / окончания по городам, чтобы определить, где они находились в любой данный период во времени.
«Датой окончания» будет именно та дата, до которой они появились в новом месте.
Я включил пример исходной таблицы и то, что должна выводить таблица появляются вместе с кодом, который будет создавать временную таблицу.
Любые рекомендации о том, как я могу разработать этот запрос и какие функции использовать?
ИСТОЧНИК:
EMP DATE LOCATION
-----------------------------------
Pinal 2020-01-01 Bangalore
Pinal 2020-01-02 Bangalore
Pinal 2020-01-04 Uttar Pradesh
Pinal 2020-01-06 Uttar Pradesh
Pinal 2020-01-20 Mumbai
Pinal 2020-01-22 Bangalore
Требуемый вывод запроса:
EMP DATE_FROM DATE_TO LOCATION
----------------------------------------------
Pinal 2020-01-01 2020-01-03 Bangalore
Pinal 2020-01-04 2020-01-19 Uttar Pradesh
Pinal 2020-01-20 2020-01-21 Mumbai
Pinal 2020-01-22 2099-01-01 Bangalore
CREATE TABLE #EMP
(
EMP VARCHAR(30) NOT NULL ,
DATE_WORKED DATE NOT NULL ,
CITY VARCHAR(30) NOT NULL
);
INSERT INTO #EMP (EMP, DATE_WORKED, CITY)
VALUES
('Pinal','2020-01-01','Bangalore'),
('Pinal','2020-01-02','Bangalore'),
('Pinal','2020-01-04','Uttar Pradesh'),
('Pinal','2020-01-06','Uttar Pradesh'),
('Pinal','2020-01-20','Mumbai'),
('Pinal','2020-01-22','Bangalore')