No me fijé en la multiplicación por -1 en la segunda parte...
Por que no lo hace mediante un procedimiento almacenado? Podría ser algo como:
Código SQL
[-]
create procedure XX
returns(
CODIGO INTEGER,
DESCRIPCION VARCHAR(n),
IMPORTE NUMERIC(19,2),
CANTIDAD INTEGER)
as
declare variable TIPO CHAR(1);
begin
for
select
CODIGO, DESCRIPCION, IMPORTE, CANTIDAD, TIPO
from
VEMOV
into
:CODIGO,
ESCRIPCION, :IMPORTE, :CANTIDAD, :TIPO
do
begin
if (TIPO = 'C') then
IMPORTE = IMPORTE * -1;
suspend;
end
end
Ya luego puedes llamar el procedimiento como un select cualquiera:
Código SQL
[-]
select sum(IMPORTE) from XX
Espero que te sirva...
Saludos...