Change InactiveDt to be same date as the next lowest EffectiveDt from the product id
===

Everyone

I have a table 

    CREATE TABLE ProductPrice
    (
    ProductId       INT             NOT NULL,
    EffectiveDt     DATE            NOT NULL,
    InactiveDt      DATE            NOT NULL,
    Price           DECIMAL(10,2)   NOT NULL
    )

what i'm wanting to do is use an update so that the inactivedt of the record with the lowest effectivedt is changed to the effectivedt - 1 of record with the next lowest effectivedt for each product id.

so say we have

    21/07/2012  26/07/2012
    24/07/2012  28/07/2012
    27/07/2012  30/07/2012

this would be changed to

    21/07/2012  23/07/2012
    24/07/2012  26/07/2012
    27/07/2012  30/07/2012

so far i have 

    UPDATE pp 
    SET    pp.InactiveDt = (SELECT pe.EffectiveDt
                   FROM   ProductPrice pe 
                   WHERE  pe.ProductId = pp.ProductId
                   ) 
    FROM   ProductPrice pp; 

but this doesn't really do what i need it to

Thank you in advanced