ORDER BY-ul era în plus... de fapt vroiam să zic:
UPDATE aaa SET Principal=0
WHERE DataInregistrare = (
SELECT MIN(DataInregistrare) FROM aaa b
WHERE b.CodContract=aaa.CodContract
AND DataInregistrare>(
SELECT MIN(DataInregistrare) FROM aaa c
WHERE c.CodContract=aaa.CodContract
)
AND DATEDIFF(month, DataInregistrare, (
SELECT MIN(DataInregistrare) FROM aaa d
WHERE d.CodContract=aaa.CodContract
))=0
)