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