Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ericsson Berg

Como resolver - realizar cálculo com string de um select?

Recommended Posts

Tenho um select que traz um resultado da seguinte forma:

Cod Descricao Valor formula

791 Faturamento 15000

792 Bônus 200

800 Resultado [791] + [792]

901 Despesas totais [902]+[903]

902 Despesa energia 350

903 Despesa água 650

1001 Percentual de despesa/ [901]/[800]

resultado

Dessa forma eu tenho um resultado das contas lançadas em cada linha e ao lado a fórmula que fará o calculo do total de determinadas linhas deste relatório.

Existe alguma forma de fazer este cálculo já no select ou outra forma??. -> Origem dos dados banco Oracle onde armazeno este resultado em uma tabela temporária mysql.

Não queria recorrer ao php para resolver esta situação e sim já executar tudo pelo banco de dados.

Vlw!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde!

Vlw!!

Mas faltou eu explicar melhor um ponto, os números em colchete são referentes as linhas onde há valores ou não, assim eu teria que, acho:

1- após o select principal, realizar um outro select com cada linha que contém fórmula;

2- realizar mais um select e trazer o valor da linha correspondente ao número dentro do colchete;

3- substituir o número do colchete pelo resultado do select;

4- realizar a operação expressa na fórmula;

5- e depois inserir o resultado da operação na linha onde existe a fórmula na coluna valor.

Acredito que tudo isso ocorreria após a primeira consulta.

Isso pode ser meio complicado até de explicar... Queria algo para resolver assim, de preferência em mysql mesmo, pq este select pode vir a ficar em um webserver baseado em um programa de determinadas empresas e eu teria que ter o mínimo possível de interação no lado servidor, com a base de dados deles.

Mas o seu exemplo vai me ajudar sim em outro ponto, agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.