Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!!
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!
Uma solução simples foi dada por estes caras.
http://stackoverflow.com/questions/1267025/how-to-calculate-value-of-string-in-oracle
Esta solução só vale para Oracle