[firebase-br] CTE Recursivas

cpd em itauto.com.br cpd em itauto.com.br
Qui Fev 5 13:39:15 -03 2015


Boa tarde pessoal , seguinte . fiz uma CTE em cima do exemplo que esta no Link http://www.firebase.com.br/fb/artigo.php?id=2001
e funcionou perfeitamente , porem queria saber , se tem a possibilidade , de qndo for trazer os valores (CREDITO e DEBITO no caso)
não so trazer na Conta que foi aplicado . mais trazendo nas contas mestres subtotalizando o que tem nas filhas ...

Existe essa possibilidade ?

with recursive 
CBATOT AS 
(SELECT CODCONTA ,
SUM(IIF(TPLAN='D',VALOR,0)) VR_DEBITO ,
SUM(IIF(TPLAN='C',VALOR,0)) VR_CREDITO
FROM CBALAN GROUP BY CODCONTA),
CBACTA_TREE AS
   (select U.codconta, u.tipo , U.codconta_mst, U.descricao , u.NIVEL, 1 AS NIVEL_cte  ,
    CAST('' AS VARCHAR(10)) AS INDENT
    from cbacta U
    where U.codconta_mst is null
    /*and u.CODCONTA= '1000000000'*/
    union all
    select U.codconta, u.TIPO ,  U.codconta_mst, u.descricao , u.nivel , H.NIVEL_cte + 1 ,
    H.INDENT || ' '
    from CBACTA_TREE H
    join cbacta U on U.codconta_mst = H.codconta)

select TRE.CODCONTA , TRE.TIPO , TRE.CODCONTA_MST , TRE.INDENT || TRE.DESCRICAO , TRE.NIVEL , TRE.NIVEL_CTE , TOT.VR_DEBITO , TOT.VR_CREDITO
from CBACTA_TREE TRE
LEFT JOIN CBATOT TOT ON TRE.CODCONTA = TOT.CODCONTA


Adilson Pazzini .


Mais detalhes sobre a lista de discussão lista