SQL Server - Hacer agrupación de datos y obtener el máximo de un campo

 
Vista:

Hacer agrupación de datos y obtener el máximo de un campo

Publicado por Autor (1 intervención) el 07/08/2019 01:07:42
Estimados, tengo dudas de cómo hacer lo siguiente. Tengo dos tablas, de las cuales me interesaría saber cuál es el valor máximo de un campo, pero que me devuelva el valor que tiene un campo asociado.

SELECT p.nombre, p.apellido, p.codigo, MAX(i.precio)
FROM tabla1 p
INNER JOIN tabla2 i
ON p.codigo=i.codigo
GROUP BY p.nombre,p.apellido,p.codigo

Suponiendo que agrupo NOMBRE y APELLIDO, tengo varios CODIGO con sus respectivos PRECIOS de la mano. La idea es que me devuelva el valor máximo de PRECIO, y a su vez, el dato del campo CODIGO que está asociado.

Por ejemplo, si es

Tabla 1:

NOMBRE, APELLIDO, CODIGO
Juan, Dold, 1
Juan, Dold,2

Tabla2:

CODIGO, PRECIO
1, 500
1, 200
2, 600
2, 300

La consulta me debería devolver sólo a:
Juan, Dold, 2, 600

Pero en cambio me devuelve:
Juan, Dold, 2, 600
Juan, Dold, 1, 500


Si ejecutó esa sentencia, me devuelven todos los valores de CODIGO, y si quito a CODIGO de la agrupación, me dice que no está en ninguna agrupación o función de agregado.

Como podría hacer?

Saludos.
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 Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Hacer agrupación de datos y obtener el máximo de un campo

Publicado por Isaias (4558 intervenciones) el 07/08/2019 17:30:46
Eso es CORRECTO, tienes dos diferentes CODIGO (1 y 2), siempre te dara el MAXIMO por esos dos codigos.

¿Solo quieres el MAXIMO de precio, no incluyas el CODIGO en tu select?
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