Ciao a tutti
Il mio problema é il seguente:

Ho questa tabella

http://i53.tinypic.com/iznb07.jpg

Ottenuta tramite la seguente query

codice:
(select distinct [fortest].[dbo].[cliente].codcli as CODCLI,  
[fortest].[dbo].[cliente].ragionesociale as RAGIONESOCIALE,
[fortest].[dbo].[cliente].sedeamministrativa_provincia as PROVINCIA, 
(SELECT [FORTEST].[dbo].[AGENTE].COGNOME FROM [FORTEST].[dbo].[AGENTE] WHERE [FORTEST].[dbo].[CLIENTE].IDAGENTE1=[FORTEST].[dbo].[AGENTE].IDAGENTE) as AGENTE1, 
(SELECT [FORTEST].[dbo].[AGENTE].COGNOME FROM [FORTEST].[dbo].[AGENTE] WHERE [FORTEST].[dbo].[CLIENTE].IDAGENTE2=[FORTEST].[dbo].[AGENTE].IDAGENTE) as AGENTE2, 
[fortest].[dbo].[tabeventi].id_trattativa as ID_TRATTATIVA, 
[fortest].[dbo].[tabtrattative].desc_trattativa as DESC_TRATTATIVA, 
[fortest].[dbo].[tabeventi].COMANDO,
[fortest].[dbo].[tabtrattative].stato as STATO, 
[fortest].[dbo].[tabeventi].id_evento     

FROM [fortest].[dbo].[tabeventi],[fortest].[dbo].[tabtrattative], [fortest].[dbo].[cliente]    

 WHERE ([FORTEST].[dbo].[CLIENTE].CODCLI = [FORTEST].[dbo].[TABTRATTATIVE].ID_CLIENTE)   
AND [fortest].[dbo].[tabeventi].id_trattativa = [fortest].[dbo].[tabtrattative].id_trattativa    
AND [fortest].[dbo].[tabeventi].sort_data =  (select max([fortest].[dbo].[tabeventi].sort_data)   from [fortest].[dbo].[tabeventi]  where [fortest].[dbo].[tabeventi].id_trattativa=[fortest].[dbo].[tabtrattative].id_trattativa )

Nei casi di trattative duplicate (ID_TRATTATIVA) devo tenere solo la riga che ha ID_EVENTO piu' alto.

Esempio:
2441 AMG SRL RE Pizzi NULL 48 Trattativa 1 OFFERTA NULL 3
2441 AMG SRL RE Pizzi NULL 48 Trattativa 1 POST OFFERTA NULL 4

Dovrò cancellare la riga che ha id_evento=3
Ovviamente dentro il mio codice non posso inserire clausole WHERE diciamo "mirate" come ad esempio un WHERE id_evento <> '3' , sarebbe troppo facile

Ci sto sbattendo la testa da un pò su questa cosa
Credo che la soluzione sia abbastanza banale ma non riesco a trovarla