Saya akan melakukan sesuatu seperti ini:
;WITH x
AS (SELECT *,
Row_number()
OVER(
partition BY employeeid
ORDER BY datestart) rn
FROM employeehistory)
SELECT *
FROM x x1
LEFT OUTER JOIN x x2
ON x1.rn = x2.rn + 1
Atau mungkin x2.rn - 1. Anda harus melihatnya. Bagaimanapun, Anda mendapatkan idenya. Setelah tabel digabungkan, Anda dapat memfilter, mengelompokkan, mengurutkan, dll. untuk mendapatkan apa yang Anda butuhkan.