Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/07/2013, 12:22
t0n1
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Query para traer los productos mas caros

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Te trae todos, porque estás pidiendo precisamente eso al hacer un GROUP BY: El máximo de cada producto...
Si lo que quieres es el el precio del valor máximo de todos, no deberías agruparlo. Pero si lo que quieres es el nombre de proveedor y pieza, lo que corresponde es HAVING:
Código SQL:
Ver original
  1. SELECT
  2.         C.Nombre,
  3.         A.Nombre
  4. FROM
  5.         Proveedores A INNER JOIN Suministra B ON A.Id = B.IdProveedor
  6.                 INNER JOIN Piezas C ON  B.CodigoPieza = C.Codigo
  7. HAVING B.Precio = MAX(B.Precio)

Hola!

Lo que quiero hacer es mostrar los precios más caros de cada proveedor. Por eso los agrupé. Pero el problema es que por ej, el proveedor srl, tiene un producto que vale 50 y otro que vale 100 y me está mostrando los dos en vez de el de 100.

Usé la query que me sugeriste y me tira este error: La columna 'Suministra.Precio' de la cláusula HAVING no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY.