Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
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 13-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Tal vez.....
Código Delphi [-]
select categoria, sum(cargo) as cargo1, sum(abono) as abono1 from apuntes where FechaA >= :Fech1 And FechaA <= :Fech2 group by categoria
Saludos
__________________
Siempre Novato
Responder Con Cita
  #2  
Antiguo 13-04-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
No se entiende de forma precisa lo que quieres. Puede ser algo cómo lo propuesto por caral, o bien hacer el GROUP BY usando un rango de fechas a cómo lo estás haciendo ahora con la Categoría.

Si es el segudo caso, puedes hacerlo ya sea cambiando en el SQL el campo Categoría por el de Fecha. Es tan sencillo que dudo que ésta sea tu inquietud :P

Puedes organizarlo por año, o bien por año y mes. Colocando una formula después del GROUP BY, exactamente en donde se encuentra "categoria". Creo que la formula para organizar por años es algo así:

Código SQL [-]
select ... GROUP BY (extract(year from Tabla.Fecha))

Espero te sirva.

Saludos,
Chris.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 13-04-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Gracias x sus respuestas hago de la forma de caral pero nada ..
Código Delphi [-]
ZQueryc.Close;
ZQueryc.SQL.Clear;
ZQueryc.SQL.Add('select categoria, sum(cargo) as cargo1, sum(abono) as abono1 from apuntes');
ZQueryc.SQL.Add('where FechaA  between :Fech1 and :Fech2  group by categoria');
ZQueryc.ParamByName('fech1').DataType := ftdate;
ZQueryc.ParamByName('fech1').Value := strtodate('20/03/2010');
ZQueryc.ParamByName('fech2').DataType := ftdate;
ZQueryc.ParamByName('fech2').Value := strtodate('20/04/2010');
ZQueryc.Open;
Me sale error ¡¡ no reconoce el campo fecha es x que no la declaro en el select pero si la declaro no me sale el resultado que quiero… quiero que sume el cargo o abono de las categorías de x fecha a x fecha…
No se si me hago entender es que soy novato en estoo…
__________________
¡Caer está permitido. Levantarse es obligatorio!.
Responder Con Cita
  #4  
Antiguo 13-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
La verdad no entiendo, yo lo haria asi:
Código Delphi [-]
ZQueryc.Close;
ZQueryc.SQL.Text:= 'select categoria, sum(cargo) as cargo1, sum(abono) as abono1 from apuntes'+
                   ' where FechaA  between :Fech1 and :Fech2  group by categoria';
ZQueryc.ParamByName('Fech1').Value := strtodate('20/03/2010');
ZQueryc.ParamByName('Fech2').Value := strtodate('20/04/2010');
ZQueryc.Open;
A ver....
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 13-04-2010
Poke Poke is offline
Miembro
 
Registrado: dic 2005
Ubicación: Madrid
Posts: 27
Poder: 0
Poke Va por buen camino
Gracias x tu respuesta caral pero lo que tu planteas es lo mismo.. el error que me da es que no reconoce el campo fechaa para que funcione con el campo fecha debo ponerla en el select asi:


Código Delphi [-]
select fechaa, categoria, sum(cargo) as cargo1, sum(abono) as abono1 from apuntes
where FechaA  between :Fech1 and :Fech2  group by categoria, fechaa';

Pero al momento de agrupar me agrupan tb con el campo fecha. Y es lo que no quiero… mm no sé cómo hacerlo he buscado x el foro y no encuentro nada parecido.. mm a ver si me pueden ayudar…
__________________
¡Caer está permitido. Levantarse es obligatorio!.

Última edición por Poke fecha: 25-04-2010 a las 17:35:56.
Responder Con Cita
  #6  
Antiguo 13-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
No se amigo Poke, lo lamento.
Saludos
PD: No te preocupes alguien te ayudara, no desistas.
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 15-04-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola poke, debería funcionarte colocando la condicion con fecha o cualquier otro campo en el Where aunque no lo pongas en el Select, ahora como tu dices si colocas en el Select también debes hacerlo en el Group By y te hara el agrupamiento por ese campo mas. Otra forma para hacer lo que quieres sería esta:

Hacemos una consulta por el rango de fechas y sobre ese resultado hacemos el group by, pero como te digo la otra forma también debería funcionarte:

Código SQL [-]
Select t.categoria, sum(t.cargo) as cargo1, sum(t.abono) as abono1
From (Select * From apuntes Where FechaA  between :Fech1 and :Fech2) t
Group By t.categoria

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con group by nikotina SQL 5 23-06-2008 14:32:43
Impresion de group header group footer Manuel Impresión 3 11-11-2007 01:05:23
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi Renis Impresión 4 23-08-2007 23:45:14
consultas anidadas: group by dentro otro group by DobleSiete SQL 7 31-01-2005 14:59:31
Group Header, Detail y Footer Group en la misma pagina MarcelRuz Impresión 0 20-04-2004 23:27:14


La franja horaria es GMT +2. Ahora son las 12:33:18.


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