OLÁ PESSOAL,


PRECISO COLOCAR SINAIS NOS MEUS SALDOS E PRECISO DE UMA DICA.

EXECUTANDO A SENTENÇA ABAIXO:

    SELECT pl.classificacao

                 , pl.descricao

                 , coalesce(

                 (

                   SELECT sum (lcx.valor)

                    FROM consolidado lcx

                     WHERE lcx.datalan < '2014-01-01'

         ),0)  AS saldo_anterior;



RETORNO:

----------------

-48071.06

-25620.64

-10000.00

-31.15

-1200.00

-25000.00

1200.00

25000.00

-20000.00

-20080.00

20000.00



PRECISO COLOCAR SINAIS DE 'D' PARA NEGATIVOS E 'C' PARA POSITIVOS.

ESTOU TENTANDO ALGO ASSIM:

-------------------------

48071.06D

25620.64D

10000.00D

31.15D

1200.00D

25000.00D

1200.00C

25000.00C

20000.00D

20080.00D

20000.00C



ESTOU TENTADO ALGO DO TIPO:

---------------------------------------

    SELECT pl. classificacao

                 , pl.descricao

                 , coalesce(

                 (

                   SELECT

                    CASE WHEN sum (lcx.valor) < 0 THEN ABS(sum
(lcx.valor))||'D'

                               WHEN sum (lcx.valor) > 0 THEN ABS(sum
(lcx.valor))||'C'

                              ELSE '*'

                   END

                    FROM consolidado lcx

                     WHERE lcx.datalan < '2014-01-01'

         ),0)  AS saldo_inicial



RETORNA O ERRO:

-------------------------------

ERRO:  tipos no COALESCE text e integer não podem corresponder

LINE 22:        ),0)  AS saldo_inicial



COLOCAR SUM() NO CASE, SERIA A MELLHOR OPÇÃO ?



ALGUEM PODE DAR UMA DICA ?



OBRIGADO.



PAULO.





---
Este email foi escaneado pelo Avast antivírus.
http://www.avast.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a