• with much information I had to make some guesses.. something like this?

    CREATE TABLE #temp

    (

    id INT,

    fromdate DATE

    )

    INSERT INTO #temp

    VALUES (1,

    '20100111'),

    (1,

    '20110205'),

    (1,

    '20120101');

    WITH cte

    AS (SELECT id,

    fromdate,

    Row_number()

    OVER (

    partition BY id

    ORDER BY fromdate ASC) rownum

    FROM #temp)

    SELECT cte.id,

    cte.fromdate,

    Dateadd(d, -1, cte2.fromdate)

    FROM cte

    LEFT JOIN cte cte2

    ON cte.rownum = cte2.rownum - 1

    DROP TABLE #temp