andreapavia ha scritto:
SELECT *
FROM (SELECT codice, MAX(revisione) as maxrev
FROM documenti
GROUP BY codice) AS A INNER JOIN documenti_societa_sedi as B
ON A.codice = B.codice_documento
AND B.id_societa=0
Fermati. Questa query non assomiglia neanche lontanamente a quella che io ti ho proposto nel mio esempio. E' corretta la query che definisce la tabella derivata, ovvero la parte
SELECT codice, MAX(revisione) as maxrev
FROM documenti
GROUP BY codice
ma poi se guardi il mio esempio ti accorgerai che io ho messo in join CON QUESTA QUERY LA STESSA TABELLA UTILIZZATA in questa query (che nel tuo caso si chiama documenti). Inoltre come condizione di join devi aggiungere il secondo criterio, ovvero di mettere in relazione la tabella derivata non solo con il campo codice ma ANCHE per il campo revisione/maxrev. Fatto questo puoi mettere nella select list tutti i campi che vuoi che siano presenti nella tabella documenti. Poi puoi ulteriormente proseguire aggiungendo join con altre tabelle/viste/udf... ma se non vai per step diventa molto facile sbagliare...