Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
MS Access 2007: consulta para recuperar el valor máximo pero muestra todas las columnas de la tabla original
Este tutorial de MSAccess muestra cómo crear una consulta para recuperar el valor máximo mientras muestra todas las columnas en la tabla original en Access 2007 (con capturas de pantalla e instrucciones paso a paso).
Ver soluciones en otras versiones de Access:
- Visita 2003
Problema: en Microsoft Access 2007, tengo una tabla con las siguientes columnas:
col1 | col2 | col3 |
---|---|---|
a01 | 5 | Pete |
a01 | 4 | John |
a01 | 3 | Profesores Universitarios |
a02 | 7 | Elsa |
a02 | 8 | Almiar |
a03 | 9 | betty |
a03 | 10 | Villa |
a03 | 8 | ronald |
Con una consulta, quiero alcanzar el registro numerado más alto en col2 como este:
col1 | col2 | col3 |
---|---|---|
a01 | 5 | Pete |
a02 | 8 | Almiar |
a03 | 10 | Villa |
Quiero obtener estos registros y todas las columnas en los registros cuando intento hacer esto con:
Select MAX(col 2), col1 from Table1 group by col1;
Solo obtengo dos columnas, col1 y col2. Quiero todas las columnas, ¿sabes dónde me estoy equivocando?
Respuesta: Para hacer esto, debe crear dos consultas de Access para recuperar los resultados que desea. Hemos creado una base de datos de Access de muestra que puede descargar con la consulta utilizada para demostrar este ejemplo.
Descargar versión en Access 2007
Primero, debe crear una consulta para recuperar el número máximo de cada valor col1 en col2. Creamos una consulta llamada “Paso 1: recuperar el valor máximo de col2 para cada col1”.
El resultado de esta consulta es el siguiente:
Ahora, todavía nos falta el valor col3 en el conjunto de resultados. Para recuperar todas las columnas, pero aún así solo el valor col2 más alto, necesitamos crear una segunda consulta que tome los resultados de la primera consulta y los una de nuevo a la tabla original.
Llamamos a esta consulta “paso 2 – resultado final para todas las columnas”.El truco con esta consulta es asegurarse de unirse col1 Objeción en la Tabla 1 col1 en nuestra primera consulta.pero también únete col2 en la Tabla 1 contra “MaxOfcol2” en la primera consulta.
Ahora, cuando ejecutamos la segunda consulta, obtenemos el resultado que queremos.