Prego. Già che ci sei dai anche uno sguardo alle cte

http://msdn.microsoft.com/en-us/library/ms175972.aspx

con le quali il mio esempio sarebbe diventato:

codice:
with mycte as 
(
select 
trattativa,evento,
row_number() over(partition by trattativa order by evento desc) as 'rownum'
from #prova 
) 
select trattativa,evento from mycte where rownum = 1