Hola!
Estoy haciendo unos ejercicios donde en uno me piden obtener nombre y precio de los artículos más caros incluyendo el nombre del proveedor y en otro, el nombre de los fabricantes cuyo articulos, el precio medio es igual a 150$. Las tablas son estas:
Fabricantes: Codigo, Nombre
Articulos: Codigo, Nombre, Precio y Fabricante
Los campos claves son Codigo (fabricantes) y fabricante (articulos)
Las resoluciones son las siguientes: para el del precio medio...
Código:
Select
Avg(Precio), Fabricantes.Nombre
From Articulos Inner Join Fabricantes
On Articulos.Fabricante = Fabricantes.Codigo
Group by Fabricantes.Nombre
Having Avg(Precio) = 150
Y Para el otro de los precios maximos:
Código:
SELECT A.Nombre, A.Precio, B.Nombre
FROM ARTICULOS A INNER JOIN
FABRICANTES B ON A.Fabricante = B.Codigo
And A.Precio = (Select Max(A.Precio) From Articulos A Where A.Fabricante = B.Codigo)
Mi pregunta ¿por qué en uno se usa una subconsulta de condición y en el otro se agrupa con el group by? ¿por qué no se podría agrupar en los dos casos por igual?
Saludos!