Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-06-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Contar y sumar importes de firebird

Hola: Nuevamente a solicitar ayuda a ustedes.
El tema es el siguiente tengo una consulta que me arroja la emisión de pasajes de acuerdo a un rango de fecha estipulado y en el informe coloco los datos de quienes utilizaron el pasaje:


Código SQL [-]
Select Internos.Id,Apellidos,Nombres,FCrim, 
           Pasajes.Id,IdInt,NroOpp,Fecha,Salida,Destino,Importe, Empresa,
           Acomp_Pasaje.Id,IdPasaje,IdFamiliar,Titular,
           Asoc_Familiar.Id, IdFam,IdInt, Parentesco,
          Familiares.Id,ApellidoyNombres,NroDoc 
From Internos
Inner Join Pasajes on Internos.Id = Pasajes.IdInt
Inner Join Acomp_Pasaje on Pasajes.Id = Acomp_Pasaje.IdPasaje
Inner Join Asoc_Familiar on Acomp_Pasaje.IdFamiliar = Asoc_Familiar.Id
inner Join Familiares on Asoc_Familiar.IdFam = Familiares.Id

Group by Internos.Id,Apellidos,Nombres,FCrim,Pasajes.IdInt,NroOpp,Pasajes.Id,Fecha,NroOpp,Salida,Destino,Impo  rte,Empresa,
Acomp_Pasaje.Id,IdPasaje,IdFamiliar,Titular,Asoc_Familiar.Id,Asoc_Familiar.IdInt,IdFam,Parentesco,
Familiares.Id,ApellidoyNombres,NroDoc
Having
Pasajes.Fecha Between :FDesde and :FHasta

Ahora bien, lo que necesito es que al final del informe me de el total de pasajes y la suma total. Hice algo asi a partir de otra consulta porque no se como hacerlo a traves de la consulta anterior.

Código SQL [-]
Select Id,Fecha,Sum(importe) As Total, Count(NroOpp) As Cantidad from Pasajes
Where Fecha Between :Fdesde and :FHasta
Group by Id,Fecha

Como podrán apreciar la consulta anterior no agrupa nada ya que ID es unico y fecha tiene rango y es por eso que recurro a ustedes. Como podria hacer siendo que necesito la fecha para acotar los registros?

Saludos
Responder Con Cita
  #2  
Antiguo 05-07-2012
Karzie Karzie is offline
Registrado
NULL
 
Registrado: jun 2012
Posts: 5
Poder: 0
Karzie Va por buen camino
Compute

Quizas puedas utilizar la clausula COMPUTE en SQL para realizar la suma. Sin embargo, si estos datos dato los utilizara con algun reporteador con Crystal Report o Reporting Services, en el mismo reporteador puedes generar los totales.

Ejemplo del Compute:

Código SQL [-]
Select Certificado, sum(Certificado) From dbo.AV_Datecnico
Group by Certificado
Compute SUM(Certificado)

Última edición por Casimiro Notevi fecha: 06-07-2012 a las 08:17:38.
Responder Con Cita
  #3  
Antiguo 06-07-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola Karzie: Creo que el compute en firebird no existe por eso cree este hilo hace un tiempo.- Alguien dijo alguna vez de "Compute by" pero no tengo idea como utilizarlo. Con relacion a la sugerencia del reporteador es así precisamente como termine por hacerlo.

Gracias y saludos.-
Responder Con Cita
  #4  
Antiguo 09-07-2012
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Na, mejor no he dicho na, voy a pensarlo un poco mejor

Para aclararme... Si la los totales los quieres sobre la primera select que has mostrado, has de hacerlo sobre ellos, supongo. Quizás algo así:

Código SQL [-]
Select Sum(Importe) As Total, Count(NroOpp) As Cantidad
From (Select Internos.Id,Apellidos,Nombres,FCrim, 
           Pasajes.Id,IdInt,NroOpp,Fecha,Salida,Destino,Importe, Empresa,
           Acomp_Pasaje.Id,IdPasaje,IdFamiliar,Titular,
           Asoc_Familiar.Id, IdFam,IdInt, Parentesco,
          Familiares.Id,ApellidoyNombres,NroDoc 
        From Internos
        Inner Join Pasajes on Internos.Id = Pasajes.IdInt
        Inner Join Acomp_Pasaje on Pasajes.Id = Acomp_Pasaje.IdPasaje
        Inner Join Asoc_Familiar on Acomp_Pasaje.IdFamiliar = Asoc_Familiar.Id
        inner Join Familiares on Asoc_Familiar.IdFam = Familiares.Id
        Group by Internos.Id,Apellidos,Nombres,FCrim,Pasajes.IdInt,NroOpp,Pasajes.Id,Fecha,NroOpp,Salida,Destino,Impo  rte,Empresa,
        Acomp_Pasaje.Id,IdPasaje,IdFamiliar,Titular,Asoc_Familiar.Id,Asoc_Familiar.IdInt,IdFam,Parentesco,
        Familiares.Id,ApellidoyNombres,NroDoc
        Having
        Pasajes.Fecha Between :FDesde and :FHasta)
__________________
La Madurez se llama...
~~~Gaia~~~

Última edición por ozsWizzard fecha: 09-07-2012 a las 10:14:46.
Responder Con Cita
  #5  
Antiguo 09-07-2012
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Se me olvidaba, en caso de que los "Inner join" no afecten al número de fila de Pasajes, una solución más efectiva sería esta:

Código SQL [-]
Select Sum(importe) As Total, Count(NroOpp) As Cantidad 
From Pasajes
Where Fecha Between :FDesde and :FHasta
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
Respuesta



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
sumar concadenaciones en sql-firebird 2.0 ingabraham SQL 11 19-05-2011 22:59:20
Sacar importes de ambas tablas por mes KeyMan SQL 2 27-07-2006 15:31:04
Contar Registros Roilo SQL 10 18-07-2006 21:20:24
Importes con formato en rave? davidcm Impresión 2 11-02-2004 09:32:13
Contar Caracteres Nuria Varios 2 29-12-2003 10:36:46


La franja horaria es GMT +2. Ahora son las 09:08:16.


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