[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