Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-04-2006
Luana Luana is offline
Miembro
 
Registrado: jun 2004
Posts: 18
Poder: 0
Luana Va por buen camino
Select de un Union All??

Hola a todos,estoy utilizando Delphi 6, la BD está hecha en Access y utilizo los componentes ADO; la consulta es la siguiente.

Código SQL [-]
SELECT C.Codigo, Sum(FA.Total) AS SumaTotal
FROM Clientes AS C, Facturas_Ventas_A AS FA
WHERE (C.Eliminado =False) AND (C.Codigo= FA.Codigo_Cliente) AND (C.Categoria= :unaCategoria) AND (FA.Fecha Between :FecMin And :FecMax)
GROUP BY C.Codigo
 
UNION ALL SELECT C.Codigo, Sum(FB.Total) AS SumaTotal
FROM Clientes AS C, Facturas_Ventas_B AS FB
WHERE (C.Eliminado = False) AND (C.Codigo = FB.Codigo_Cliente) AND (C.Categoria = :unaCategoria) AND (FB.Fecha Between :FecMin And :FecMax)
GROUP BY C.Codigo
 
UNION ALL SELECT C.Codigo, Sum(FC.Total) AS SumaTotal
FROM Clientes AS C, Facturas_Ventas_C AS FC
WHERE (C.Eliminado = False) AND (C.Codigo = FC.Codigo_Cliente) AND (C.Categoria = :unaCategoria) AND (FC.Fecha Between :FecMin And :FecMax)
GROUP BY C.Codigo

Lo que yo quisiera haceres que para un mismo codigo de cliente,se sumaran los campos FA.SumaTotal + FB.SumaTotal + FC.SumaTotal.

Bueno, si alguien puede ayudarme desde ya muchas gracias. Saludos.

Luana
Responder Con Cita
  #2  
Antiguo 17-04-2006
Luana Luana is offline
Miembro
 
Registrado: jun 2004
Posts: 18
Poder: 0
Luana Va por buen camino
una Solución

Hola a todos, mi problema lo solucioné realizando subconsultas, no es tan rápida como el resto de las consultas, pero me sirve.

La nueva consulta es:

Código SQL [-]
SELECT C.Codigo, C.Nombre, iif((SELECT Sum(Total) FROM Facturas_Ventas_A 
WHERE (C.Codigo = Codigo_Cliente) AND (Fecha Between :FecMin And :FecMax) 
GROUP BY Codigo_Cliente) IS NULL, 0,(SELECT Sum(Total) FROM Facturas_Ventas_A 
WHERE (C.Codigo = Codigo_Cliente) AND (Fecha Between :FecMin And :FecMax) 
GROUP BY Codigo_Cliente)) + iif((SELECT Sum(Total) FROM Facturas_Ventas_B 
WHERE (C.Codigo = Codigo_Cliente) AND (Fecha Between :FecMin And :FecMax) 
GROUP BY Codigo_Cliente) IS NULL, 0,(SELECT Sum(Total) FROM Facturas_Ventas_B 
WHERE (C.Codigo = Codigo_Cliente) AND (Fecha Between :FecMin And :FecMax) 
GROUP BY Codigo_Cliente)) + iif((SELECT Sum(Total) FROM Facturas_Ventas_C 
WHERE (C.Codigo = Codigo_Cliente) AND (Fecha Between :FecMin And :FecMax) 
GROUP BY Codigo_Cliente) IS NULL, 0,(SELECT Sum(Total) FROM Facturas_Ventas_C 
WHERE (C.Codigo = Codigo_Cliente) AND (Fecha Between :FecMin And :FecMax) 
GROUP BY Codigo_Cliente)) AS SUMATOTAL
FROM Clientes AS C
WHERE (C.Eliminado=False) And (C.Categoria = :unaCategoria);

Esta consulta la necesito para mostrar los datos en un QReport, el campo
SUMTOTAL lo muesto en un QRDBText que me está mostrando los que son igual a cero, pero los que tienen un valor no me muestra nada.

Bueno, si alquien sabe a que se puede deber esto agradecería su ayuda.

Luana
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
Problema conuna consulta select...not in (select ...) VRO Firebird e Interbase 2 11-08-2005 08:56:35
5 select de 5 tablas diferentes en un select solo sakuragi SQL 6 15-06-2005 18:57:06
Select anidado: Select from (select....) Malon SQL 2 14-10-2004 14:01:24
Select anidado ( Select from select ) Malon Firebird e Interbase 1 05-10-2004 04:14:38
Union en BDE eduarcol SQL 9 05-07-2004 18:49:10


La franja horaria es GMT +2. Ahora son las 20:43:42.


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