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 

Delphi / Firedac / SQL

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
tchadrack
Novato
Novato


Registrado: Terça-Feira, 22 de Novembro de 2016
Mensagens: 32

MensagemEnviada: Seg Dez 09, 2019 10:39 am    Assunto: Delphi / Firedac / SQL Responder com Citação

Tenho uma consulta SQL usando um dataset (classe TFDQUERY), no Delphi, que retorna a seguinte estrutura de dados (exemplo):

dataInicial / valor / dataFinal
17/01/2017 200,00 16/01/2018
17/01/2018 300,00 18/06/2019

o que estou querendo fazer é criar um campo calculado para computar a diferença percentual entre o valor do registro anterior e o atual, exemplo:


dataInicial / valor / dataFinal / reajuste
17/01/2017 200,00 16/01/2018 / 0
17/01/2018 300,00 18/06/2019 / 150%


Acho que não tem como fazer isso somente com o SQL, então preciso criar o campo calculado. (Se alguém souber como fazer usando somente SQL, seria até melhor)

A questão, é como eu faço para acessar o campo do registro anterior para realizar este cálculo no campo calculado?
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: Seg Dez 09, 2019 11:26 am    Assunto: Responder com Citação

Bom dia,

Não sei se vou poder ajudar, mas qual banco de dados (e versão) você está utilizando?
Acho que para utilizar um campo calculado vai ser necessário ter os valores utilizados no calculo dentro do mesmo registro.


Editado pela última vez por imex em Qui Jan 30, 2025 5:00 pm, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
tchadrack
Novato
Novato


Registrado: Terça-Feira, 22 de Novembro de 2016
Mensagens: 32

MensagemEnviada: Seg Dez 09, 2019 2:38 pm    Assunto: Responder com Citação

imex escreveu:
Bom dia,

Não sei se vou poder ajudar, mas qual banco de dados (e versão) você está utilizando?
Acho que para utilizar um campo calculado vai ser necessário ter os valores utilizados no calculo dentro do mesmo registro.



Agradeço a disposição, mas acabei resolvendo facilmente, através do evento "onCalcFields" do dataset
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 -> Delphi 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