Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Agrupar ventas por clientes

Estas en el tema de Agrupar ventas por clientes en el foro de Bases de Datos General en Foros del Web. Buenas tengo una tabla donde almaceno los clientes y otra donde almaceno las "X" ventas que tiene cada cliente. La sql que intento hacer es ...
  #1 (permalink)  
Antiguo 15/10/2009, 01:55
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Agrupar ventas por clientes

Buenas tengo una tabla donde almaceno los clientes y otra donde almaceno las "X" ventas que tiene cada cliente.

La sql que intento hacer es sacar el total de "ventas" en los ultimos 4 años por cada tienda/cliente , es decir que si un cliente ha hecho 10 compras solo me cuente 1.

Estoy probando algo como esto , el problema que aki el count me devuelve el numero total de ventas y yo busco que me "cuente" una venta por cliente , o dicho de otra manera solo la primera.

Select c.cli_codi,count(*) as totalventas from client C
inner join venda V
on C.cli_codi = V.cli_codi and C.tie_codigo = V.ven_tienda
where year(V.VEN_DATA) >= 2005
group by c.cli_codi,c.tie_codigo


gracias radge
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
  #2 (permalink)  
Antiguo 15/10/2009, 04:55
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Agrupar ventas por clientes

No entiendo que quieres contar....

Cuantas parejas distintas tienes de tienda/cliente?

Código sql:
Ver original
  1. SELECT DISTINCT V.ven_tienda,V.cli_codi
  2. FROM venda V
  3. WHERE YEAR(V.VEN_DATA) >= 2005

Cuantos clientes por tienda?

Código sql:
Ver original
  1. SELECT sbc.ven_tienda, COUNT(*) AS clientes
  2. FROM
  3.      (SELECT DISTINCT V.ven_tienda,V.cli_codi
  4.            FROM venda V
  5.            WHERE YEAR(V.VEN_DATA) >= 2005) sbc
  6. GROUP BY sbc.ven_tienda;

... no se...

Quim
  #3 (permalink)  
Antiguo 15/10/2009, 07:08
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Agrupar ventas por clientes

A ver yo tengo una tabla clientes , y luego otra ventas donde tengo "X" ventas por cliente.

Yo deseo sacar cuantas ventas he hecho por tienda/cliente.

Es decir si el cliente 1 ha hecho 10 ventas y el cliente 2 ha hecho 20 , la suma seria 30

Pero lo que busco es que me diga que ha hecho 2 ventas , es decir contar 1 venta por cliente.

gracias radge
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
  #4 (permalink)  
Antiguo 15/10/2009, 08:55
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Agrupar ventas por clientes

Luego seria la segunda opción que te daba...

Código sql:
Ver original
  1. SELECT sbc.ven_tienda, COUNT(*) AS clientes
  2. FROM
  3.      (SELECT DISTINCT V.ven_tienda,V.cli_codi
  4.            FROM venda V
  5.            WHERE YEAR(V.VEN_DATA) >= 2005) sbc
  6. GROUP BY sbc.ven_tienda;

Cambia "clientes" por "ventas"....

Si tenemos

Cliente1
Cliente2

Tienda1
Tenda2

y Cliente1 ha hecho 5 compras en tienda1 y 5 en tienda2

y cliente2 solo cinco en tienda1

el resultado deberia ser

Tienda1 dos ventas, tienda2 una venta... si es asi te lo da la consulta anterior... si no explicate mejor.

Quim
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.