¿Cómo puedo sacar en un informe los cinco productos más vendidos de cada categoría?

Aquí va otra pregunta que me surge.
Como puedo sacar en un informe los 5 productos más vendidos de cada categoría. Puede parecer sencillo, pero me está dando muchos quebraderos de cabeza

1 respuesta

Respuesta
1
Si no me detallas más tu base de datos no sé a qué te refieres.
Si cada producto es un registro de una base de datos cualquier consulta que cuente los registros agrupados por el nombre del producto te dirá cuántos se han vendido. El máximo de ese nuevo campo será el del producto que quieres...
Buenos días. A ver si me explico un poco mejor.
Las tablas que están implicadas son:
PRODUCTOS: Código, Nombre, Categoría, Grupo, Proveedor
CATEGORIAS: Categoria, Descripcion, Grupo, DescripcionGrupo
VENTAS: Producto, Unidades (Procede de una consulta)
PROVEEDORES: Código, Nombre, Dirección, ...
Los enlaces que tengo hechos son:
PRODUCTOS.Categoria - CATEGORIAS.Categoria +  PRODUCTOS.Grupo - CATEGORIAS.Grupo
PRODUCTOS.Codigo- VENTAS.Producto
PRODUCTOS.Proveedor - PROVEEDORES.Código
<div>El informe que quiero sacar tiene un encabezado de Categorias (sin problema) debe estar agrupado por "Grupo" de la tabla CATEGORIAS (sin problema) y listarme de cada grupo solo los 5 productos mas vendidos, es decir, con más unidades (y este es el problema). He conseguido listarlos todos, ordenados de más unidades a menos, y sumar los 5 primeros a mano. Lo interesante es que me liste solo esos 5 que interesan y poder hacer la suma automática.</div>
<div>Muchas gracias por tu interés.</div>
Buenos días. A ver si me explico un poco mejor.
Las tablas que están implicadas son:
PRODUCTOS: Código, Nombre, Categoría, Grupo, Proveedor
CATEGORIAS: Categoria, Descripcion, Grupo, DescripcionGrupo
VENTAS: Producto, Unidades (Procede de una consulta)
PROVEEDORES: Código, Nombre, Dirección, ...
Los enlaces que tengo hechos son:
PRODUCTOS.Categoria - CATEGORIAS.Categoria + PRODUCTOS.Grupo - CATEGORIAS.Grupo
PRODUCTOS.Codigo- VENTAS.Producto
PRODUCTOS. Proveedor - PROVEEDORES. Código
El informe que quiero sacar tiene un encabezado de Categorías (sin problema) debe estar agrupado por "Grupo" de la tabla CATEGORÍAS (sin problema) y listarme de cada grupo solo los 5 productos más vendidos, es decir, con más unidades (y este es el problema). He conseguido listarlos todos, ordenados de más unidades a menos, y sumar los 5 primeros a mano. Lo interesante es que me liste solo esos 5 que interesan y poder hacer la suma automática.
Muchas gracias por tu interés.
En las consultas existe una posibilidad que es seleccionar los POR primeros
SELECT TOP X
Lo malo es que hay que agruparlos. Veré si se me ocurre algo pero no te puedo prometer nada.
He encontrado algo pero todavía lo estoy probando:
http://support.microsoft.com/kb/210039/en-us
Sí que funciona.
Buenos días
No consigo entender como funciona. Intento hacer el ejemplo en la base de datos de ejemplo, pero no tiene tablas porque no se puede conectar a un SQL-Server
Esto mismo se puede hacer desde una consulta normal, ¿o tiene que ser necesariamente desde procedimientos?
Gracias por el tiempo que estas perdiendo conmigo
Con tres tablas la consulta se complica mucho. Se podría simplificar si en la tabla VENTAS incluyes también el grupo al que pertenece cada producto. Como esta tabla proviene de una consulta no cre que te resulte complicado hacerlo. Si es así dímelo y ya seguimos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas