Access - Buscar el registro más alto

 
Vista:
sin imagen de perfil

Buscar el registro más alto

Publicado por Narcís (3 intervenciones) el 10/06/2017 02:22:04
Hola a todos!

Llevo ya unos días calentándome el tarro para saber cómo buscar el registro más alto en Access, pero no encuentro exactamente lo que busco.

Tengo una BDD parecida a esta, donde país+número representan el peso de cada animal:

ANIMALES---país1---país2---país3---país52
Toro------------560------565-----600------580
Vaca------------450------460-----480------600
Perro-----------80--------82--------77-------68
León------------ -------- ----- ------750
Pinguino----- -------- ------45-----52

Vale, ahora lo que quiero yo es o una consulta o en una columna al final, tener el peso máximo de cada animal.

Ya luego después tengo más tablas parecidas, por ejemplo pordría ser que también tengo la tabla de pesos medios por países. Y quisera medir la diferencia de pesos a traves de una consulta con algunos criterios.

Gracias de antemano a todos!
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 Pancho
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Buscar el registro más alto

Publicado por Pancho (211 intervenciones) el 10/06/2017 20:02:09
Aunque el diseño de la base de datos no es optimo puedes implementar esto en SQL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT nombre_animal, max(peso)
 
from (
 
SELECT Animales.animal_nombre as nombre_animal, "pais1" AS Pais, Animales.pais1 as peso FROM Animales
UNION ALL
SELECT Animales.animal_nombre  as nombre_animal, "pais2" AS Pais, Animales.pais2  as peso FROM Animales
UNION ALL
SELECT Animales.animal_nombre  as nombre_animal, "pais3" AS Pais, Animales.pais3  as peso FROM Animales
UNION ALL
SELECT Animales.animal_nombre  as nombre_animal, "pais52" AS Pais, Animales.pais52  as peso FROM Animales
 
) as tempo
 
GROUP BY nombre_animal

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Buscar el registro más alto

Publicado por Narcís (3 intervenciones) el 10/06/2017 21:35:28
Lo siento, Pancho, pero no he entendido nada.
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
Imágen de perfil de Pancho
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Buscar el registro más alto

Publicado por Pancho (211 intervenciones) el 10/06/2017 23:07:37
Entonces le toca un curso de SQL para que comprenda, porque si no tiene claro la base menos entenderas

http://deletesql.com/viewforum.php?f=5&sid=11796bc213aa0d218515373bfe80001d

Basicamente la sentencia SQL lo que hace es colocar los valores de columna de pesos por cada pais por animal en filas para que luego devuelva el maximo por animal

De esto:

animal_1

Aplicando la consulta que esta entre el FROM y el as tempo sin parentesis en una consulta aparte obtienes esto:

animal_2

Y esos resultados los agrupas por Animal y sabiendo que Max es una funcion que devuelve el maximo de un rango de resultados sal al final esto:

animal_3

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Buscar el registro más alto

Publicado por Narcís (3 intervenciones) el 10/06/2017 23:54:28
Ahora siiii!! Muchísimas gracias Pancho, en seguida empiezo el curso pues!! Gracias!
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