Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2012, 14:36
t0n1
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Cuando usar group by

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!