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