Cita: ...pero el resultado final, me trae absolutamente todos los productos por más que defina el campo con la funcion max y los agrupe al final
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 originalSELECT
C.Nombre,
A.Nombre
FROM
Proveedores A INNER JOIN Suministra B ON A.Id = B.IdProveedor
INNER JOIN Piezas C ON B.CodigoPieza = C.Codigo
HAVING B.Precio = MAX(B.Precio)