मैं कुछ ऐसा करूंगा:
;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
या शायद यह x2.rn-1 होगा। आपको देखना होगा। किसी भी मामले में, आपको विचार मिलता है। एक बार जब आप टेबल को अपने आप जोड़ लेते हैं, तो आप जो चाहते हैं उसे प्राप्त करने के लिए फ़िल्टर, समूह, सॉर्ट आदि कर सकते हैं।