[firebase-br] Ajuda com SELECT

Wagner Porto wagner.porto em itelefonica.com.br
Seg Set 3 17:44:36 -03 2007


Olá,
Seria legal você colocar o erro que te retorna,
porém mudei algumas coisas no seu select talvez ajude.

SELECT
      ctb.nro_lancto, ctb.ctacontabil, pln.nomeclatura, ctb.modulo,
      CASE ctb.modulo
          WHEN 'CPR' THEN (TRIM(his.historico)||' '||cpr.complemento)
          WHEN 'CXA' THEN (TRIM(his.historico)||' '||cxa.complemento)
          WHEN 'BCO' THEN (TRIM(his.historico)||' '||bco.complemento)
      END AS historico,
      CASE ctb.tipolancto
          WHEN 'D' THEN '1'
          WHEN 'C' THEN '2'
      END AS tipolancto,
      ctb.dt_lancto, ctb.vl_lancto
   FROM
      tbl_lanctos_contabeis ctb
   JOIN tbl_historicos_padrao his

   JOIN tbl_lanctos_bancario bco on bco.empresa = ctb.empresa AND
                                    bco.gerencial = ctb.gerencial AND
                                    bco.nro_lancto = ctb.nro_lancto AND
                                    bco.historico = his.codigo  

   JOIN tbl_plano_de_contas pln on pln.empresa = ctb.empresa AND
                                   pln.gerencial = ctb.gerencial AND
                                   pln.nro_cta_reduzi = ctb.ctacontabil

   join tbl_ctas_receber_pagar cpr on cpr.empresa = ctb.empresa AND
                                      cpr.gerencial = ctb.gerencial AND
                                      cpr.nro_lancto = ctb.nro_lancto AND
                                      cpr.historico = his.codigo

   join tbl_lanctos_caixa cxa on cxa.empresa = ctb.empresa AND
                                 cxa.gerencial = ctb.gerencial AND
                                 cxa.nro_lancto = ctb.nro_lancto AND
                                 cxa.historico = his.codigo
   WHERE
      ctb.empresa = 7 AND ctb.gerencial = 'F' AND
      ctb.dt_lancto >= :dPeriodo1 AND ctb.dt_lancto <= :dPeriodo2 AND
      ( ctb.modulo='CPR' OR ctb.modulo='CXA' OR ctb.modulo='BCO')

   ORDER BY 7, 6, 1

Espero ter ajudado....
Falow....

João Cezar escreveu:
> Olá
>
> Tenho o seguinte select, onde as partes em vermelho é para buscar
> o historico dos lançamentos, mas não está funcionando, se eu tiro
> essa parte funciona.
>
> Preciso de ajuda para retornar esse select.
>
>
> SELECT
>       ctb.nro_lancto, ctb.ctacontabil, pln.nomeclatura, ctb.modulo,
>       CASE ctb.modulo
>           WHEN 'CPR' THEN (TRIM(his.historico)||' '||cpr.complemento)
>           WHEN 'CXA' THEN (TRIM(his.historico)||' '||cxa.complemento)
>           WHEN 'BCO' THEN (TRIM(his.historico)||' '||bco.complemento)
>       END AS historico,
>       CASE ctb.tipolancto
>           WHEN 'D' THEN '1'
>           WHEN 'C' THEN '2'
>       END AS tipolancto,
>       ctb.dt_lancto, ctb.vl_lancto
>    FROM
>       tbl_lanctos_contabeis ctb,
>       tbl_plano_de_contas pln,
>       tbl_ctas_receber_pagar cpr,
>       tbl_lanctos_caixa cxa,
>       tbl_lanctos_bancario bco,
>       tbl_historicos_padrao his
>    WHERE
>       ctb.empresa=7 AND
>       ctb.gerencial='F' AND
>       ctb.dt_lancto >= :dPeriodo1 AND ctb.dt_lancto <= :dPeriodo2 AND
>       ( pln.empresa=ctb.empresa AND pln.gerencial=ctb.gerencial AND
>         pln.nro_cta_reduzi=ctb.ctacontabil ) AND
>       ( ( ctb.modulo='CPR' AND cpr.empresa=ctb.empresa AND
>           cpr.gerencial=ctb.gerencial AND cpr.nro_lancto=ctb.nro_lancto AND
>           cpr.historico=his.codigo ) OR
>         ( ctb.modulo='CXA' AND cxa.empresa=ctb.empresa AND
>           cxa.gerencial=ctb.gerencial AND cxa.nro_lancto=ctb.nro_lancto AND
>           cxa.historico=his.codigo ) OR
>         ( ctb.modulo='BCO' AND bco.empresa=ctb.empresa AND
>           bco.gerencial=ctb.gerencial AND bco.nro_lancto=ctb.nro_lancto AND
>           bco.historico=his.codigo ) )
>    ORDER BY 7, 6, 1
>
> []'s
>
> João Cezar
> joao.cezar em cultura.com.br
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>   


-- 
Att.
Wagner Porto





Mais detalhes sobre a lista de discussão lista