• Useful topic to cover but isn't the final solution over-complex?

    Couldn't you just use an inequality of PaymentID's on a self-join as follows..?

    DELETE Payment

    WHERE PaymentID IN

    (SELECT P1.PaymentID

    FROM Payment P1

    INNER JOIN Payment P2

    ON P1.CustomerNumber = p2.CustomerNumber

    AND

    p1.PostedDatetime = p2.PostedDatetime

    AND

    p1.PaymentAmt = p2.PaymentAmt

    AND

    p1.PaymentID > p2.PaymentID)

    Mark