[firebase-br] Ajuda SQL

José Mauricio barbisan Zottis zottissistemas em gmail.com
Qua Ago 8 09:44:01 -03 2018


Bom dia.
estou precisando fazer um SQL, mas to patinando:
O caso é o seguinte:

tenho as tabelas:
ger_tipo_classif,  (cod_tipo e Tipo)
ger_classificacao (cod_classif e classificacao)e
caixa_adic(COD_CAIXA, DATA_CAD, COD_TPCLAS, COD_CLASSIFICACAO, VL_RATEIO,
TIPO_CONTABIL)
e preciso que seja mostrado 2 situações:
1 -todas as combinações de COD_TIPO e COD_CLASSIF das tabelas
ger_tipo_classif e  ger_classificacao mesmo que não tenha tido movimentação
na Caixa_adic.
2 - Somente as combinações que tiveram Movimentação na Caixa_adic
estou tentando com o SQL abaixo,
porém aparece combinações com Valores ZERADOS e na tabela caixa_adic, não
existe nenhum campo zerado e o período que estou passando esta pegando
todos os registros da tabela:

Alguém poderia me ajudar?

Select gt.cod_tipo ,gt.tipo ,gc.cod_classif  ,gc.classificacao
      ,(select coalesce(Sum (ca2.vl_rateio),0)
          from caixa_adic ca2, caixa c
         Where c.cod_caixa = ca2.cod_caixa
           and ca2.cod_tpclas = gt.cod_tipo
           and ca2.cod_classificacao = gc.cod_classif
           and ca2.tipo_contabil = 'C'
           and c.deletado = 'N'
           and c.revertido = 'N'
           and (ca2.data_cad Between :VarDataI and :VarDataF) ) as
vl_entrada
            ,(select coalesce(Sum (ca2.vl_rateio),0)
          from caixa_adic ca2, caixa c
         Where c.cod_caixa = ca2.cod_caixa
           and ca2.cod_tpclas = gt.cod_tipo
           and ca2.cod_classificacao = gc.cod_classif
           and ca2.tipo_contabil = 'D'
           and c.deletado = 'N'
           and c.revertido = 'N'
           and (ca2.data_cad Between :VarDataI and :VarDataF) ) as vl_saida
 From ger_tipo_classif gt, ger_classificacao gc, caixa_adic ca
where gt.cod_tipo = ca.cod_tpclas
  and gc.cod_classif = ca.cod_classificacao
Group By gt.cod_tipo
       , gt.tipo
       ,gc.cod_classif
       ,gc.classificacao
Order by gt.cod_tipo
       ,gc.cod_classif


O resultado:
  COD_TIPO    TIPO                COD_CLASSIF    CLASSIFICACAO
 VL_ENTRADA
            1 FORMA DE PAGAMENTO              1  TAXA + COLETA
           3,30
            1 FORMA DE PAGAMENTO              2  MENSAL + KILO
           0,00
            1 FORMA DE PAGAMENTO              3  MENSAL + EXCEDENTE
            0,00
            1 FORMA DE PAGAMENTO              9  AGUA
            0,00
            1 FORMA DE PAGAMENTO             10  TELEFONE
            0,00
            3 MATRIZ                          1  TAXA + COLETA
           0,00
            3 MATRIZ                          2  MENSAL + KILO
           0,00
            3 MATRIZ                          3  MENSAL + EXCEDENTE
            0,00
            5 GRUPO CIANORTE                  1  TAXA + COLETA
           0,00
            5 GRUPO CIANORTE                  2  MENSAL + KILO
           0,00
            5 GRUPO CIANORTE                 11  DESPESAS DE VIAGEM
            0,00
            5 GRUPO CIANORTE                 12  DESPESAS FIXAS ROTA
           0,00
            5 GRUPO CIANORTE                 13  DESPESAS VARIÁVEIS DE
ROTA            0,00
            5 GRUPO CIANORTE                 14  PAGAMENTOS DE
FORNECEDORES            0,00
            6 CIANORTE                        1  TAXA + COLETA
           0,00
            6 CIANORTE                       10  TELEFONE
            0,00
            6 CIANORTE                       11  DESPESAS DE VIAGEM
            0,00
            6 CIANORTE                       12  DESPESAS FIXAS ROTA
           0,00
            6 CIANORTE                       13  DESPESAS VARIÁVEIS DE
ROTA            0,00
            6 CIANORTE                       14  PAGAMENTOS DE
FORNECEDORES            0,00



Mais detalhes sobre a lista de discussão lista