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 07-10-2007
Daniel_ASV Daniel_ASV is offline
Registrado
 
Registrado: sep 2005
Posts: 8
Poder: 0
Daniel_ASV Va por buen camino
Sum de una Union en Firebird

Hola compañeros estoy queriendo sumar unos importes que tengo en una union de dos tablas pero solo me regresa una sola suma.

Alguien sabe como puedo obtener la suma de las sumas de estas dos tablas:

Código SQL [-]
select DOCUMENTOAFECTADO, sum(IMPORTE) as sumabonos
from RECIBOSCAJA 
where 
  SUCURSALAFECTADA=:SA and
  IDAFECTADA=:ID and
  DOCUMENTOAFECTADO=OCTO
group by DOCUMENTOAFECTADO
union select DOCUMENTOAFECTADO, sum(IMPORTE)
from notascredito
where
  SUCURSALAFECTADA=:SA and
  IDAFECTADA=:ID  and
  DOCUMENTOAFECTADO=OCTO
group by DOCUMENTOAFECTADO

Encontre que en SQL Server se pone

Código SQL [-]
Select DOCUMENTOAFECTADO, sum(IMPORTE) as sumabonos
from (Aquí adentro la consulta anterior) as Todas 
group by DOCUMENTOAFECTADO

Pero no me funciono en firebird marca token unknown en el parentesis espero que me puedan ayudar con esta consulta

Última edición por Daniel_ASV fecha: 07-10-2007 a las 06:47:30.
Responder Con Cita
  #2  
Antiguo 07-10-2007
pcicom pcicom is offline
Miembro
 
Registrado: may 2003
Ubicación: MONTERREY MEXICO
Posts: 253
Poder: 21
pcicom Va por buen camino
Post

prueba con esto
Código SQL [-]
      select DOCUMENTOAFECTADO, sum(IMPORTE) as sumabonos
           from RECIBOSCAJA  group by DOCUMENTOAFECTADO
   UNION   
      select DOCUMENTOAFECTADO, sum(IMPORTE) as sumabonos
           from notascredito group by DOCUMENTOAFECTADO
      where 
          SUCURSALAFECTADA=:SA and
          IDAFECTADA=:ID and
          DOCUMENTOAFECTADO=OCTO

Tambien si es un comando muy comun de uso puedes crear una VISTA


Código SQL [-]
    CREATE VIEW v_AFECTADO (
        DOCUMENTOAFECTADO,
        IMPORTE)

    AS (
      select DOCUMENTOAFECTADO, sum(IMPORTE) as sumabonos
           from RECIBOSCAJA  group by DOCUMENTOAFECTADO
     UNION   
          select DOCUMENTOAFECTADO, sum(IMPORTE) as sumabonos
              from notascredito group by DOCUMENTOAFECTADO
      )


Ya luego la LLamarias como

Código SQL [-]
    SELECT * from V_AFECTADO
      where 
          SUCURSALAFECTADA=:SA and
          IDAFECTADA=:ID and
          DOCUMENTOAFECTADO=OCTO


Una de las consideraciones importantes cuando se hacen uniones es que deben de tener campos del mismo tipo y del mismo nombre..
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton
Responder Con Cita
  #3  
Antiguo 07-10-2007
Daniel_ASV Daniel_ASV is offline
Registrado
 
Registrado: sep 2005
Posts: 8
Poder: 0
Daniel_ASV Va por buen camino
Gracias por responder, nomas que la solución que estaba buscando no era lo que necesitaba, resulta que habian en ambas tablas unos registros con los mismos valores y solo me regresaba uno. Para que me regresara todos solo tenia que agregarle all despues de union con eso se resolvio el problema, pero gracias de todas formas.
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
Firebird, Union y Order by Loviedo Firebird e Interbase 2 09-01-2007 17:57:04
Como ordenar la UNION de 2 Consultas FIREBIRD pcicom SQL 2 10-02-2005 18:49:59
Dudas con Union rogeriobeltran SQL 10 16-07-2004 22:30:22
Union en BDE eduarcol SQL 9 05-07-2004 18:49:10


La franja horaria es GMT +2. Ahora son las 03:53:36.


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