Fórum Fazer uma função usando sentença em SQL (Urgente) #212671

09/02/2004

0

Preciso de uma função para a seguinte sentença:

select t1.areaparcial*( t1. areaparcial * 100/ t2.AREAtotal)/100
from teste1 t1, teste t2
where t1.cód = t2.cod

select t1.arearealizada*( t1. arearealizada * 100/ t2.AREAtotal)/100
from teste1 t1, teste t2
where t1.cód = t2.cod

select t1.areaprevista*( t1. areaprevista * 100/ t2.AREAtotal)/100
from teste1 t1, teste t2
where t1.cód = t2.cod

Tenho que calcular estes 3 campos para o mesmo registro(areaparcial, arearealizada, areaprevista)usando esta sentença e mudando apenas os campos referentes, como posso fazer isso?
Estas sentenças terão de ser executada dentro da mesma função, onde teria de calcular a areaparcial, arearealizada e areaprevista juntas, executada pra fazer uma replicação, onde será replicado o valor dos campos areaparcial, arearealizada e areaprevista de acordo com a área total de cada registro.
Por exemplo:
Tenho cadastrado um registro como: cód 001 areaparcial = 10,92, arearealizada = 11.4 e areaprevista = 11.4 areatotal = 12.
Quero fazer uma replicação deste registro para outro, onde o resultado da porcentagem é 91¬ da areaparcial e 95¬ da arearealizada e 95¬ da areaprevista referente ao registro 1.
Esta porcentagem será calculada para os registro que serão replicados, se o outro registro que for replicado tiver, por exemplo, areatotal = 18, a areaparcial terá 91¬ = 16,38, arearealizada e areaprevista terá 95¬ tmb de 18 = 17,1 e assim sucessivamente.

Obrigado.


Querra

Querra

Responder

Posts

09/02/2004

Luineumann

Se eu entendi o que vc quer faça
select t1.areaparcial*( t1. areaparcial * 100/ t2.AREAtotal)/100 as vlr_parcial,
t1.arearealizada*( t1. arearealizada * 100/ t2.AREAtotal)/100 as vlr_realizada,
t1.areaprevista*( t1. areaprevista * 100/ t2.AREAtotal)/100 as vlr_prevista
from teste1 t1, teste t2
where t1.cód = t2.cod


Responder

Gostei + 0

11/02/2004

Querra

Olá luineumann,
esta sentença que vc perguntou pode ser uma boa saida pode ser isso mesmo..
Se vc poder me ajudar ficaria grato...

Obrigado...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar