Access - ayuda para realizar una consulta

 
Vista:

ayuda para realizar una consulta

Publicado por Aldebaran (1 intervención) el 03/08/2007 12:56:02
Hola a todos,

necesito hacer una consulta en access y no consigo obtener los datos que yo tengo,
tengo una tabla con los campos nombre, variable_medida, hora, valor, y lo que quiero es obtener la hora cuando el valor es el maximo de esas horas cuando los datos estan agrupado por nombre y variable, el problema es que cuando pongo el group by con nobre y variable_medida no me deja seleccionar la hora porque no esta en la clausula group by... teneis alguna consulta similar que me pueda resolver el problema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Consulta para obtener la hora del valor máximo agrupado por nombre y variable

Publicado por Alejandro (4142 intervenciones) el 17/08/2023 00:51:10
Para lograr esto en Access, puedes utilizar una subconsulta para encontrar el valor máximo para cada combinación de nombre y variable_medida, y luego unir esa subconsulta con la tabla original para obtener la hora correspondiente. Aquí tienes un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
SELECT t.nombre, t.variable_medida, t.hora, t.valor
FROM tu_tabla AS t
INNER JOIN (
    SELECT nombre, variable_medida, MAX(valor) AS max_valor
    FROM tu_tabla
    GROUP BY nombre, variable_medida
) AS subconsulta
ON t.nombre = subconsulta.nombre
AND t.variable_medida = subconsulta.variable_medida
AND t.valor = subconsulta.max_valor;

Reemplaza `tu_tabla` con el nombre de tu tabla real. Esta consulta realiza lo siguiente:

1. La subconsulta agrupa los datos por nombre y variable_medida, y calcula el valor máximo (`MAX(valor)`) para cada combinación de nombre y variable_medida.

2. Luego, la consulta principal hace una unión interna (INNER JOIN) entre la tabla original (`tu_tabla`) y la subconsulta utilizando las columnas nombre, variable_medida y valor. Esto devuelve las filas donde el valor coincide con el valor máximo para cada combinación de nombre y variable_medida.

3. La consulta principal selecciona todas las columnas de la tabla original, incluyendo la hora correspondiente al valor máximo.

De esta manera, obtendrás las filas que tienen el valor máximo para cada combinación de nombre y variable_medida, junto con la hora correspondiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar