[firebase-br] RES: Ajuda SQL

Sofia Bonato de Moraes - EES sbonato em ees.com.br
Qua Ago 8 10:44:22 -03 2018


Bom dia, talvez algo do tipo:

SELECT gt.cod_tipo ,gt.tipo ,gc.cod_classif
,gc.classificacao,SUM(VLRENTRADA), SUM(VLRSAIDA)
FROM 
(
SELECT gt.cod_tipo ,gt.tipo ,gc.cod_classif  ,gc.classificacao, COALESCE(Sum
(ca2.vl_rateio),0) AS VLRENTRADA, 0 AS VLRSAIDA
FROM...
WHERE... (INNER JOIN NA TABELA DE MOVIMENTAÇÃO, COM CONTA='C')
UNION
SELECT gt.cod_tipo ,gt.tipo ,gc.cod_classif  ,gc.classificacao, 0 AS
VLRENTRADA, COALESCE(Sum (ca2.vl_rateio),0) AS VLRSAIDA
FROM...
WHERE... (INNER JOIN NA TABELA DE MOVIMENTAÇÃO, COM CONTA='D')
UNION
SELECT gt.cod_tipo ,gt.tipo ,gc.cod_classif  ,gc.classificacao, 0 AS
VLRENTRADA, 0 AS VLRSAIDA
FROM...
WHERE... (FULL OUTER JOIN DAS TABELAS TIPO E CLASSIFICAÇÃO)
)
GROUP BY gt.cod_tipo ,gt.tipo ,gc.cod_classif  ,gc.classificacao


-----Mensagem original-----
De: lista <lista-bounces em firebase.com.br> Em nome de José Mauricio barbisan
Zottis
Enviada em: quarta-feira, 8 de agosto de 2018 09:44
Para: FireBase <lista em firebase.com.br>
Assunto: [firebase-br] Ajuda SQL

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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista