[firebase-br] Ajuda em stored procedure

Jose Luiz de Medeiros joseluiz em digitoneletronica.com.br
Dom Maio 29 23:05:14 -03 2011


Colegas, boa noite.

 

Criei um SP para pegar resultados de uma tabela separando por tipo, ela me
traz as linhas de acordo com a data. Mas os valores se repetem, o que fiz de
errado?

 

CREATE PROCEDURE SP_REL_CAIXA (

    pdataini date,

    pdatafim date,

    empresa integer)

returns (

    data date, 

    margprodterc numeric(18,2),

    prodterc numeric(18,2),

    tarifacao numeric(18,2),

    cobradia numeric(18,2),

    cambista numeric(18,2)

    )

as

begin

  FOR

    select  cc.dt_cadastro,

     (select coalesce(sum(cc.valor),0)as margProdTerc from controle_conta cc
where cc.mov   = 'X' and cc.tipo_mov = 'C' ),

     (select coalesce(sum(cc.valor),0)as prodTerc     from controle_conta cc
where cc.mov   = 'T' and cc.tipo_mov = 'C' ),

     (select coalesce(sum(cc.valor),0)as Tarifacao    from controle_conta cc
where cc.mov   = 'F' and cc.tipo_mov = 'C' ),

     (select coalesce(sum(cc.valor),0)as cobraDia     from controle_conta cc
where cc.mov   = 'I' and cc.tipo_mov = 'C' ),

     (select coalesce(sum(cc.valor),0)as cambista     from controle_conta cc
where cc.mov   = 'A' and cc.tipo_mov = 'C' )

       from

       controle_conta cc

     WHERE

    cc.dt_cadastro between :pdataini and :pdatafim

     and cc.id_empresa = :empresa

     group by cc.dt_cadastro

    INTO :data,

         :margProdTerc,

         :prodTerc,

         :Tarifacao,

         :cobraDia,

         :cambista

          DO

  BEGIN

   SUSPEND;

END

 

end




Mais detalhes sobre a lista de discussão lista