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 

Soma de registros no mesmo mes

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


Registrado: Quarta-Feira, 18 de Janeiro de 2017
Mensagens: 3

MensagemEnviada: Qua Jan 18, 2017 10:25 pm    Assunto: Soma de registros no mesmo mes Responder com Citação

Preciso da ajuda dos amigos, se possível.
Preciso somar dois registros, se recebidos no mesmo mes, para o DIMOB
Exemplo:
TABELA_LANCAMENTOS
DATARECEB,VALORPARCELA
01/10/2016, 100.00
28/10/2016, 100,00

Resultado:
TABELA_IR
10/2016, 200,00

Obrigado pela ajuda.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qui Jan 19, 2017 7:52 am    Assunto: Responder com Citação

Qual banco está utilizando?

em SQL Server ficaria +- assim:
Código:
SELECT FORMAT(DATARECEB, 'MM/yyyy') Periodo,
       SUM(VALORPARCELA) VALORPARCELA
FROM TABELA
GROUP BY FORMAT(DATARECEB, 'MM/yyyy')
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
JoseCarlosPitarello
Novato
Novato


Registrado: Quarta-Feira, 18 de Janeiro de 2017
Mensagens: 3

MensagemEnviada: Qui Jan 19, 2017 3:12 pm    Assunto: Soma de registros no mesmo mes Responder com Citação

Obrigado Leo_cj
O Banco de Dados é Firebird 2.5
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Jan 19, 2017 7:20 pm    Assunto: Responder com Citação

Boa noite,

Experimente dessa forma:

Código:
select
    dateadd(day, extract(day from DATARECEB) - 1, DATARECEB) as MesAno,
    sum(VALORPARCELA) as ValorParcela
from TABELA_LANCAMENTOS
GROUP BY
    dateadd(day, extract(day from DATARECEB) - 1, DATARECEB)


Espero que ajude


Editado pela última vez por imex em Qua Nov 01, 2023 11:48 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
pestana
Colaborador
Colaborador


Registrado: Sábado, 25 de Junho de 2005
Mensagens: 3147
Localização: Araras-SP

MensagemEnviada: Sex Jan 20, 2017 12:12 pm    Assunto: Responder com Citação

também pode ser utilizado a função extract

Código:
select (extract(month from DATARECEB) || '/' || extract(year from DATARECEB)) mesAno,
       sum(VALORPARCELA) valor
  from TABELA_LANCAMENTOS
group by mesAno


agora se você quer incluir uma condição de busca:

Código:
 where (extract(month from DATARECEB) = :mes)
   and (extract(year from DATARECEB) = :ano)



qualquer coisa volte a postar!
_________________
Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
JoseCarlosPitarello
Novato
Novato


Registrado: Quarta-Feira, 18 de Janeiro de 2017
Mensagens: 3

MensagemEnviada: Dom Jan 22, 2017 12:01 pm    Assunto: Sona de registros no mesmo mes Responder com Citação

Amigos do Active Delphi

Explicando melhor , preciso percorrer toda a TABELA_LANCAMENTOS e gravar na TABELA_IR, quando encontrar dois ou mais registros no mesmo mes, somar o valor das parcelas:

Exemplo:

TABELA_LANCAMENTOS
DATARECEB,VALORPARCELA
01/08/2016, 100,00
01/09/2016, 100,00
01/10/2016, 100.00
28/10/2016, 100,00
01/11/2016, 100,00

Resultado:
TABELA_IR
08/2016, 100,00
09/2016, 100,00
10/2016, 200,00
11/2016, 100,00

Obrigado pela ajuda.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Dom Jan 22, 2017 7:27 pm    Assunto: Responder com Citação

Se a query sugerida está retornando os valores que você quer inserir, experimente adicionar o Insert no início. Ex:

Código:
insert into Tabela_IR (MesAno, ValorParcela)
    select
        dateadd(day, extract(day from DATARECEB) - 1, DATARECEB) as MesAno,
        sum(VALORPARCELA) as ValorParcela
    from TABELA_LANCAMENTOS
    GROUP BY
        dateadd(day, extract(day from DATARECEB) - 1, DATARECEB)


Espero que ajude
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