 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
tchadrack Novato

Registrado: Terça-Feira, 22 de Novembro de 2016 Mensagens: 32
|
Enviada: Seg Dez 09, 2019 10:39 am Assunto: Delphi / Firedac / SQL |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Seg Dez 09, 2019 11:26 am Assunto: |
|
|
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 |
|
 |
tchadrack Novato

Registrado: Terça-Feira, 22 de Novembro de 2016 Mensagens: 32
|
Enviada: Seg Dez 09, 2019 2:38 pm Assunto: |
|
|
| 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 |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|