Hola lauri_lunae:
Este tipo de consultas la hemos tratado muchas veces en el foro, y definitivamente, no creo que la propuesta altex te sirva de mucho, tendrías el mismo problema, seleccionarías el último idDocumento, pero no la información asociada a este... en realidad existen muchas maneras de hacerlo, pero una de las que más recomendamos es con el uso de JOIN's y subconsultas... checa este script. Supongamos que tienes esta tabla.
Código MySQL:
Ver original+---------------------+-----------+-----------------+---------------------+
| idDocumentoContrato | idEmpresa | nombreComercial | fechaInicioContrato |
+---------------------+-----------+-----------------+---------------------+
| 1 | 1 | nombre 1.1 | 2012-08-13 |
| 2 | 1 | nombre 1.2 | 2012-08-26 |
| 3 | 1 | nombre 1.3 | 2012-08-28 |
| 4 | 1 | nombre 1.4 | 2012-08-28 |
| 1 | 2 | nombre 2.1 | 2012-08-10 |
| 2 | 2 | nombre 2.2 | 2012-08-14 |
| 3 | 2 | nombre 2.3 | 2012-08-27 |
+---------------------+-----------+-----------------+---------------------+
Para obtener el último idDocumento para cada empresa, la consulta sería más o menos así:
Código MySQL:
Ver originalmysql
> SELECT idEmpresa
, MAX(idDocumentoContrato
)+-----------+--------------------------+
| idEmpresa
| MAX(idDocumentoContrato
) | +-----------+--------------------------+
| 1 | 4 |
| 2 | 3 |
+-----------+--------------------------+
Pero lo que creo que necesitas no solo el idDocumento, sino la información asociada a ese id... sin embargo puedes utilizar la consulta de arriba para filtrar la información que necesitas, sería más o menos así:
Código MySQL:
Ver original -> ( SELECT idEmpresa
, MAX(idDocumentoContrato
) max_idDocumentoContrato
-> ON T1.idDocumentoContrato
= T2.max_idDocumentoContrato
-> AND T1.idEmpresa
= T2.idEmpresa
; +---------------------+-----------+-----------------+---------------------+
| idDocumentoContrato | idEmpresa | nombreComercial | fechaInicioContrato |
+---------------------+-----------+-----------------+---------------------+
| 4 | 1 | nombre 1.4 | 2012-08-28 |
| 3 | 2 | nombre 2.3 | 2012-08-27 |
+---------------------+-----------+-----------------+---------------------+
Observa que la consulta marcada como T2 es en realidad la primer consulta que puse... al hacer el JOIN la utilizas para filtrar la información que realmente necesitas.
Saludos
Leo.