Group by y TOP en consulta -- URGENTE

Tengo una sentencia sql (trabajo con una BD en SQL Server), donde deseo obtener los datos de la tabla de Clientes (dirección, nombre, rfc) de los 50 clientes que más compras tienen... Para esto, hice un group by Ventas. Cliente en la tabla de ventas, para agrupar todas las ventas por cliente, y quiero utilizar el TOP para decirle que recupere los datos de la tabla de clientes solo los 50 clientes con mayores ventas, pero ya probé de varias maneras y no logro generar los resultados que yo quiero.. ¿Cómo puedo estructurar esa consulta?
Respuesta
1
Según lo que comentas vas por muy buen camino.
Realizas una consulta agrupando por cliente y sumarizando el campo de importe.
Ordenas por el cmapo sumarizado de importe y realizas un top 5.
Ejemplo:
Select top 50 Nif, sum(importe) from TClientes
group by nif
order by sum(importe) desc
Y si los datos que deseo mostrar se encuentran en 2 tablas diferentes (suma de importe de cada cliente de tabla Ventas y domicilio, nombre y rfc de tabla Clientes), ¿cómo podría ser la consulta?
Gracias!
Pues muy fácil...
Select top 50 Nif, sum(Ventas.importe) from TClientes inner join Ventas on TClientes.IdCliente=ventas.Idcliente
group by nif
order by sum(importe) desc

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas