Duvida construção de Consulta sql Plano de Contas
Tenho uma tabela de Centro de custo desta forma CODCCUSTO – String 12 DESCRIÇÃO - String 50
Tenho outra Tabela Contas
N_DOCUMENTO – String 30
CODCCUSTO – Chave Estrangeira da tabela Centro de Custo Valor_Documento – Numeric (15,2)
Dentro da tabela centro de custo tem os seguintes cadastros
1.Receita
1.1Vendas Internas
1.1.1Escola
1.1.2Escritório
1.2Vendas Externas
1.2.1Livro
1.2.2Brinquedos
2.Despesas
2.1Fornecedores
2.1.1– Nacional
2.1.2– Importado
2.2 – Escritório
2.2.1 – Materiais de limpeza
2.2.2 – Materiais de Escritório
Tenho que montar um relatório que totalize por níveis todas as contas lançadas O centro de custo sempre vai ser lançada no ultimo nível ou seja no 1.1.1 ou 1.2.1 etc
Exemplo:
Lançamentos :
R$ 50,00 centro de custo:1.1.2 Escritório
R$ 100,00 centro de custo :1.2.2 Brinquedos
Relatório
1 Receitas R$ 150,00
1.1Vendas Internas R$ 50,00
1.2 Vendas Externas R$ 100,00
Se alguém puder me dar uma dica agradeço,
Obs.: Uso FireBird 1.5.4
Hugo Fabrício
Tenho outra Tabela Contas
N_DOCUMENTO – String 30
CODCCUSTO – Chave Estrangeira da tabela Centro de Custo Valor_Documento – Numeric (15,2)
Dentro da tabela centro de custo tem os seguintes cadastros
1.Receita
1.1Vendas Internas
1.1.1Escola
1.1.2Escritório
1.2Vendas Externas
1.2.1Livro
1.2.2Brinquedos
2.Despesas
2.1Fornecedores
2.1.1– Nacional
2.1.2– Importado
2.2 – Escritório
2.2.1 – Materiais de limpeza
2.2.2 – Materiais de Escritório
Tenho que montar um relatório que totalize por níveis todas as contas lançadas O centro de custo sempre vai ser lançada no ultimo nível ou seja no 1.1.1 ou 1.2.1 etc
Exemplo:
Lançamentos :
R$ 50,00 centro de custo:1.1.2 Escritório
R$ 100,00 centro de custo :1.2.2 Brinquedos
Relatório
1 Receitas R$ 150,00
1.1Vendas Internas R$ 50,00
1.2 Vendas Externas R$ 100,00
Se alguém puder me dar uma dica agradeço,
Obs.: Uso FireBird 1.5.4
Hugo Fabrício
Hugo_fabricio
Curtidas 0
Respostas
Hugo_fabricio
04/08/2009
Bom pessoal consegui resolver o problema com esta sql:
vou deixar aqui para se algum precisar de algo parecido.
Select
SubString(DP.CODCCUSTO from 1 for 1) as FNivel,
sum(DP.valordup), CC.DESCRICAO
from DUPLICATA DP
left join CCUSTO CC on CC.CODCCUSTO = SubString(DP.CODCCUSTO from 1 for 1)
group by SubString(DP.CODCCUSTO from 1 for 1),CC.DESCRICAO
union
Select
SubString(DP.CODCCUSTO from 1 for 2) as FNivel,
sum(DP.valordup), CC.DESCRICAO
from DUPLICATA DP
left join CCUSTO CC on CC.CODCCUSTO = SubString(DP.CODCCUSTO from 1 for 2)
group by SubString(DP.CODCCUSTO from 1 for 2),CC.DESCRICAO
union
Select
SubString(DP.CODCCUSTO from 1 for 4) as FNivel,
sum(DP.valordup), CC.DESCRICAO
from DUPLICATA DP
left join CCUSTO CC on CC.CODCCUSTO = SubString(DP.CODCCUSTO from 1 for 4)
group by SubString(DP.CODCCUSTO from 1 for 4),CC.DESCRICAO
vou deixar aqui para se algum precisar de algo parecido.
Select
SubString(DP.CODCCUSTO from 1 for 1) as FNivel,
sum(DP.valordup), CC.DESCRICAO
from DUPLICATA DP
left join CCUSTO CC on CC.CODCCUSTO = SubString(DP.CODCCUSTO from 1 for 1)
group by SubString(DP.CODCCUSTO from 1 for 1),CC.DESCRICAO
union
Select
SubString(DP.CODCCUSTO from 1 for 2) as FNivel,
sum(DP.valordup), CC.DESCRICAO
from DUPLICATA DP
left join CCUSTO CC on CC.CODCCUSTO = SubString(DP.CODCCUSTO from 1 for 2)
group by SubString(DP.CODCCUSTO from 1 for 2),CC.DESCRICAO
union
Select
SubString(DP.CODCCUSTO from 1 for 4) as FNivel,
sum(DP.valordup), CC.DESCRICAO
from DUPLICATA DP
left join CCUSTO CC on CC.CODCCUSTO = SubString(DP.CODCCUSTO from 1 for 4)
group by SubString(DP.CODCCUSTO from 1 for 4),CC.DESCRICAO
GOSTEI 0