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 Temas de Hoy

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.043
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



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 09:19:51.


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