Somar valores por grupo de conta
Boa noite a todos do forum, to com o seguinte problema para montar a SQL :
Tenho 3 tabelas para o financeiro do meu sistema, GRUPOCONTA, CONTAS, CONTASPAGARRECEBER
GRUPOCONTA: CodGrupoConta, Nome;
CONTA : CodConta, CodGrupoConta, Nome;
CONTASPAGARRECEBER : CodContasPagarReceber, CodConta, Valor, Data, Vencto;
O que queria fazer é o seguinte : MOntar uma sql q fizesse a soma baseada na Tabela CONTASPAGARRECEBER mas por CODGRUPOCONTA, mas na tabela so existe o campo CODCONTA;
O Relatorio ficaria assim :
CodGrupoConta Nome ValorTotal
00001 Despesas fixas 3.500,00
00002 Receitas 10.500,00
00003 Salarios 5.000,00
Bom obrigado pela ajuda :
Minha SQL q montei mas nao deu certo esta assim :
Select SUM(Valor) from ContasPagarReceber
Inner Join Conta on Conta.CodConta = ContasPagarReceber.CodConta
Inner Join GrupoConta on GrupoConta.CodGrupoConta = Conta.CodConta
Where ContasPagarReceber.Data Between :Inicio AND :Final
Tenho 3 tabelas para o financeiro do meu sistema, GRUPOCONTA, CONTAS, CONTASPAGARRECEBER
GRUPOCONTA: CodGrupoConta, Nome;
CONTA : CodConta, CodGrupoConta, Nome;
CONTASPAGARRECEBER : CodContasPagarReceber, CodConta, Valor, Data, Vencto;
O que queria fazer é o seguinte : MOntar uma sql q fizesse a soma baseada na Tabela CONTASPAGARRECEBER mas por CODGRUPOCONTA, mas na tabela so existe o campo CODCONTA;
O Relatorio ficaria assim :
CodGrupoConta Nome ValorTotal
00001 Despesas fixas 3.500,00
00002 Receitas 10.500,00
00003 Salarios 5.000,00
Bom obrigado pela ajuda :
Minha SQL q montei mas nao deu certo esta assim :
Select SUM(Valor) from ContasPagarReceber
Inner Join Conta on Conta.CodConta = ContasPagarReceber.CodConta
Inner Join GrupoConta on GrupoConta.CodGrupoConta = Conta.CodConta
Where ContasPagarReceber.Data Between :Inicio AND :Final
Walter Faria
Curtidas 0
Respostas
Edilcimar
21/03/2006
vc pode criar um for para fazer o grupo de contas, mais ou menos assim
for i := 1 to limitedotipocontas do
select * from tabela where codigoconta := i
se o campo codigoconta é string basta transformar o i para o modelo de string utilizado
for i := 1 to limitedotipocontas do
select * from tabela where codigoconta := i
se o campo codigoconta é string basta transformar o i para o modelo de string utilizado
GOSTEI 0
Walter Faria
21/03/2006
Entao, mas eu to montando um select com todos GRUPOCONTAS e quero criar um campo calculado pra mostrar o valor de cada grupo usando este sql :
SQL q mostra todos os GRUPOCONTAS usado em contasPagarReceber:
//
SelectGrupoContas.*
from GrupoContas
Where GrupoContas.CodGrupoConta in
(Select CodGrupoConta From Contas Inner Join ContasPagarReceber on ContasPagarReceber.CodConta = Contas.CodConta Where ContasPagarReceber.DataVencimento Between :DataIni And :DataFim)
Order By GrupoContas.TipoConta, GrupoContas.Nome
//
Agora o sql q uso para mostrar o total do campo calculado :
//
Select SUM(Valor) from ContasPagarReceber
Inner Join Conta on Conta.CodConta = ContasPagarReceber.CodConta
Inner Join GrupoConta on GrupoConta.CodGrupoConta = Conta.CodConta
Where ContasPagarReceber.Data Between :Inicio AND :Final
//
SQL q mostra todos os GRUPOCONTAS usado em contasPagarReceber:
//
SelectGrupoContas.*
from GrupoContas
Where GrupoContas.CodGrupoConta in
(Select CodGrupoConta From Contas Inner Join ContasPagarReceber on ContasPagarReceber.CodConta = Contas.CodConta Where ContasPagarReceber.DataVencimento Between :DataIni And :DataFim)
Order By GrupoContas.TipoConta, GrupoContas.Nome
//
Agora o sql q uso para mostrar o total do campo calculado :
//
Select SUM(Valor) from ContasPagarReceber
Inner Join Conta on Conta.CodConta = ContasPagarReceber.CodConta
Inner Join GrupoConta on GrupoConta.CodGrupoConta = Conta.CodConta
Where ContasPagarReceber.Data Between :Inicio AND :Final
//
GOSTEI 0
Walter Faria
21/03/2006
Entao, gente ninguem pode me ajudar neste caso, de plano de contas
GOSTEI 0