Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
que tal si probas con:

Código SQL [-]
select s.sucursal,c.cliente,c.nomcli,c.rfccli,
       Sum(c.importeant),Sum(c.importe),
       max(c.fecha) MesUltimaCompra
  from TablaVentas c
       inner join tesp_sucursales s on (s.clave = c.sucursal)
 where c.sucursal = 1
   and c.cliente >0
 group by s.sucursal, c.cliente, c.nombli, c.rfccli
having max(c.fecha) < '2005-06-01'

No lo he comprobado, pero debiera mostrarte todos aquellos clientes que no han comprado desde el 1/6/2005.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #2  
Antiguo 04-11-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
ok

Si tengo 1 indice por Sucursal+Cliente+Ano+Mes, tome estos campos por ser los que dependen después de la instrucción WHERE de los Select's, pero no aumento mucho la velocidad, voy a probar como me comenta jachguate .

Muchas Gracias....

Última edición por AGAG4 fecha: 04-11-2005 a las 02:47:46. Razón: Corrección
Responder Con Cita
  #3  
Antiguo 04-01-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
????

Disculpe la tardanza para verificar las pruebas, revise el Select usando Having funciono Bien, pero tengo el problema de que me obliga agrupar por FECHA y me pone 1 mismo cliente varias veces, por lo que lo que yo quiero es agrupar Sólo por clientes, pero si quito dentro del select el Max(c.fecha) no me serviría el having.

Otra cosa que me di cuenta, si pongo lo siguiente:
Código SQL [-]
....
group by cliente,nomcli,rfccli,fecha
having max(fecha)<'01.08.2005'
order by sum(importe) DESC
No me hace el Ordenamiento Descendente, me pone registros revueltos, Ejemplo:
Importe
1200
1000
800
5000
40000
....

Gracias por su sugerencia.

Última edición por AGAG4 fecha: 04-01-2006 a las 17:32:01.
Responder Con Cita
  #4  
Antiguo 04-01-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 289
Poder: 24
kalimero Va por buen camino
Hola.
Pues entonces agrega la condicion de la fecha en la clausula WHERE
Saludos
Responder Con Cita
  #5  
Antiguo 04-01-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
????

No puedo agregar dentro del where max(fecha)<'01.08.2005' por si no haz leido quiero aquellos clientes que dejaron de comprar en determinada fecha.

ó Si agrego fecha <='01.08.2005' me obliga a poner un Subselect como arriba lo menciono.

Gracias por su respuesta.
Responder Con Cita
  #6  
Antiguo 04-01-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 289
Poder: 24
kalimero Va por buen camino
Hola.
No se si entiendo bien lo que dices. Yo me referia a esto.

Código SQL [-]
select s.sucursal,c.cliente,c.nomcli,c.rfccli,
       Sum(c.importeant),Sum(c.importe)
  from TablaVentas c
       inner join tesp_sucursales s on (s.clave = c.sucursal)
 where c.sucursal = 1 and c.fecha < '2005-06-01'
   and c.cliente >0
 group by s.sucursal, c.cliente, c.nombli, c.rfccli

Saludos
Responder Con Cita
  #7  
Antiguo 04-01-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 23
AGAG4 Va por buen camino
????

A como explicas sólo formas un Grupo de clientes que compraron de Enero a Mayo, pero te falta agregar los clientes que compraron de Junio a Diciembre y Sacar el Grupo Final que Compraron de Enero a Mayo pero que NO ESTEN en el Grupo Junio a Diciembre.
No me sirve saber aquellos clientes que SOLO compraron de Enero a Julio.

Espero haberme explicado.

Saludos....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:06:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi