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:
Y Para el otro de los precios maximos:Select Avg(Precio), Fabricantes.Nombre From Articulos Inner Join Fabricantes On Articulos.Fabricante = Fabricantes.Codigo Group by Fabricantes.Nombre Having Avg(Precio) = 150
Código:
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?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)
Saludos!