Club Delphi  
    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 22-02-2013
FerJavRec FerJavRec is offline
Registrado
 
Registrado: oct 2005
Posts: 7
Poder: 0
FerJavRec Va por buen camino
Multiples consultas con Firebird.

Hola buenas tardes, estoy trabajando con Delphi 2010 y Firebird 2.5 y tengo una consulta que realizo y funciona bien. Ahora estoy medio trabado y no me doy cuenta de como puedo hacer para obtener un campo con una (suma - resta) de los valores obtenidos en la consulta.
Acá pongo un ejemplo:

Código Delphi [-]
with dm1.Consultas do
 begin
   close;
   sql.Clear;
   sql.Add('SELECT mo.coop, coo.razon_social,');
   sql.Add('(SELECT sum(importe) as total_fac FROM movimientos c1 where c1.coop = mo.coop AND fecha <= ''12/31/2012'' AND tipo = ''F''),');
   sql.Add('(SELECT sum(importe) as total_rec FROM movimientos c2 where c2.coop = mo.coop AND fecha <= ''12/31/2012'' AND tipo = ''R''),');
   sql.Add('(SELECT sum(importe) as total_ntc FROM movimientos c3 where c3.coop = mo.coop AND fecha <= ''12/31/2012'' AND tipo = ''N''),');
   sql.Add('coo.saldo_inicial FROM movimientos mo');
   sql.Add('LEFT JOIN cooperativas coo on (mo.coop = coo.coop)');
   sql.Add('WHERE mo.coop IN (SELECT coop FROM cooperativas where activa = ''si'')');
   sql.Add('GROUP BY mo.coop, coo.razon_social, coo.saldo_inicial');
   open;

 end;

El campo tendria que contener el resultado de:

resultado = ( (total_fac-(total_rec+total_ntc) )

Bueno muchas gracias por su atencion.
saludos
Responder Con Cita
  #2  
Antiguo 22-02-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración

Hola, el select que has puesto devolverá los campos:
mo.coop, coo.razon_social, total_fac, total_rec, total_ntc, coo.saldo_inicial

Y esto que dices no se entiende entonces:
Cita:
Empezado por FerJavRec Ver Mensaje
El campo tendria que contener el resultado de:
resultado = ( (total_fac-(total_rec+total_ntc) )
Responder Con Cita
  #3  
Antiguo 22-02-2013
FerJavRec FerJavRec is offline
Registrado
 
Registrado: oct 2005
Posts: 7
Poder: 0
FerJavRec Va por buen camino
Hola muchas gracias por tu bienvenida.
Mira ya lo solucione. Yo necesitaba un campo que tenga la suma/resta de los valores obtenido en las consultas.

asi lo soluccione:
Código Delphi [-]
 with dm1.Consultas do
 begin
   close;
   sql.Clear;
   sql.Add('SELECT mo.coop, coo.razon_social,');
   sql.Add('((SELECT sum(importe) as total_fac FROM movimientos c1 where c1.coop = mo.coop AND fecha <= ''12/31/2012'' AND tipo = ''F'')-');
   sql.Add('((SELECT sum(importe) as total_rec FROM movimientos c2 where c2.coop = mo.coop AND fecha <= ''12/31/2012'' AND tipo = ''R'')+');
   sql.Add('(SELECT sum(importe) as total_ntc FROM movimientos c3 where c3.coop = mo.coop AND fecha <= ''12/31/2012'' AND tipo = ''N''))) as sumatotal,');
   sql.Add('coo.saldo_inicial FROM movimientos mo');
   sql.Add('LEFT JOIN cooperativas coo on (mo.coop = coo.coop)');
   sql.Add('WHERE mo.coop IN (SELECT coop FROM cooperativas where activa = ''si'')');
   sql.Add('GROUP BY mo.coop, coo.razon_social, coo.saldo_inicial');
   open;
 end;

El campo con el resultado lo tengo en sumatotal. Perdón si no soy demasiado claro.
muchas gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consultas multiples en una tabla con mysql? Theluar SQL 1 13-12-2012 18:52:23
Consultas multiples con ADOQuery rodno Conexión con bases de datos 2 10-11-2010 09:22:45
Consultas y/o filtrados multiples aanil SQL 16 28-04-2008 21:42:57
Consultas Múltiples theloren07 Conexión con bases de datos 11 12-07-2007 15:24:32
como mostrar consultas multiples en un dbgrid?? yo_coco_py SQL 6 27-01-2007 13:00:31


La franja horaria es GMT +2. Ahora son las 05:26: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