ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Ajuda a montar este select?

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sex Mai 23, 2008 10:45 am    Assunto: Ajuda a montar este select? Responder com Citação

Citação:
Topico Movido por : Borland_Linuxer
Motivo: Respeite as Regras do forum
Movido para : Banco de Dados


Primeiro estou usando banco firebird 2.0 e delphi 7.

Pessoal tenho um select que me traz saldos anteriores, pagamentos, recebimentos e saldo atual assim

Código:
select x.conta, x.descrconta, x.saldo_anterior, xrecebimento, x.pagamento,(x.saldo_anterior = x.recebimento - x.pagamento) saldo_atual
from
(select distinct(t.conta), t.descrconta,
((select coalesce(sum(recebimento),0) from movcontabil
where datamvto < :pdata and conta = t.conta and descrconta = t.descrconta)) - ((select coalesce(sum(pagamento),0) from movcontabil
where datamvto < :pdata and conta = t.conta and descrconta = t.descrconta)) as Saldo_Anterior,
(select coalesce(sum(recebimento),0) from movcontabil
where extract(month from datamvto) = :pmes and extract(year from datamvto) = :pano and conta = t.conta and descrconta = t.descrconta)as recebimento,
(select coalesce(sum(pagamento),0) from movcontabil
where extract(month from datamvto) = :pmes and extract(year from datamvto) = :pano and conta = t.conta and descrconta = t.descrconta)as pagamento from movcontabil t) as x


Funciona certinho trazendo o saldo anterior recebimento pagamento e saldo atual cfe o mes, agora preciso que este select abaixo faça o mesmo deste acima, comparando duas tabelas.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree


Editado pela última vez por adriano_servitec em Sex Mai 23, 2008 1:55 pm, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sex Mai 23, 2008 10:46 am    Assunto: Responder com Citação

Código:
select substring(a.conta from 1 for 1), b.nmconta,
coalesce(sum(a.recebimento),0)as recebimento, coalesce(sum(a.pagamento),0)as pagamento, coalesce(sum((a.recebimento) - (a.pagamento)),0)as saldo_atual
from movcontabil a, plano_contas b
where substring(a.conta from 1 for 1) = b.cdconta and extract(year from datamvto) = :pano group by 1,2
union
select substring(a.conta from 1 for 2), b.nmconta,
coalesce(sum(a.recebimento),0)as recebimento, coalesce(sum(a.pagamento),0)as pagamento, coalesce(sum((a.recebimento) - (a.pagamento)),0)as saldo_atual
from movcontabil a, plano_contas b
where substring(a.conta from 1 for 2) = b.cdconta and extract(year from datamvto) = :pano group by 1,2
union
select substring(a.conta from 1 for 3), b.nmconta,
coalesce(sum(a.recebimento),0)as recebimento, coalesce(sum(a.pagamento),0)as pagamento, coalesce(sum((a.recebimento) - (a.pagamento)),0)as saldo_atual
from movcontabil a, plano_contas b
where substring(a.conta from 1 for 3) = b.cdconta and extract(year from datamvto) = :pano group by 1,2
union
select substring(a.conta from 1 for 4), b.nmconta,
coalesce(sum(a.recebimento),0)as recebimento, coalesce(sum(a.pagamento),0)as pagamento, coalesce(sum((a.recebimento) - (a.pagamento)),0)as saldo_atual
from movcontabil a, plano_contas b
where substring(a.conta from 1 for 4) = b.cdconta and extract(year from datamvto) = :pano group by 1,2
union
select a.conta, b.nmconta,
coalesce(sum(a.recebimento),0)as recebimento, coalesce(sum(a.pagamento),0)as pagamento, coalesce(sum((a.recebimento) - (a.pagamento)),0)as saldo_atual
from movcontabil a, plano_contas b
where a.conta = b.cdconta and extract(year from datamvto) = :pano group by 1,2



Então eu preciso que me traga o saldo anterior tambem neste segundo select, cfe o ano que eu digitar.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Mai 27, 2008 9:28 am    Assunto: Responder com Citação

Problema resolvido


É isso ai pessoal, obrigado pela ajuda.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB