Using CTE
WITH CTE AS( SELECT rownum = ROW_NUMBER() OVER(ORDER BY p.BusinessEntityID), p.FirstName FROM Person.Person p)SELECTprev.FirstName PreviousValue, CTE.FirstName, nex.FirstName NextValueFROM CTELEFT JOIN CTE prev ON prev.rownum = CTE.rownum - 1LEFT JOIN CTE nex ON nex.rownum = CTE.rownum + 1GO
Using Lag and Lead
SELECTLAG(p.FirstName) OVER(ORDER BY p.BusinessEntityID) PreviousValue, p.FirstName, LEAD(p.FirstName) OVER(ORDER BY p.BusinessEntityID) NextValueFROM Person.Person pGO
No comments:
Post a Comment