[firebase-br] Ajuda com select ...
eduardo
eduardo em icontroller.com.br
Sex Jul 1 19:01:03 -03 2005
Oi Magnun
SELECT
( MAX(CAMPO1) - MIN(CAMPO1) ) /
(
SUM(CAMPO2) -
(SELECT FIRST 1 CAMPO2 FROM TAB1
ORDER BY CAMPO_QUE_DETERMINA_O_ULTIMO DESC
)
)
AS RESULTADO
FROM TAB1
O problema aqui é conseguir prever se
(sum(CAMPO2) - last(CAMPO2) não vai dar ZERO o que resultaria em erro.
Se houver esta possibilidade é melhor escrever uma SP para ter mais
domínio sobre a situação.
Outra coisa são os tipos. Se CAMPO1 e CAMPO2 forem INTEGER, você vai ter
que multiplicar dividendo ou divisor por um numero com casa decimais
para não ter um resulatdo INTEIRO (Tipo * 1.00)
[]s Eduardo
> Tenho uma tabela TAB1.
>
> CAMPO1----CAMPO2
> 1000------600
> 2200------1350
> 4900------900
>
> Preciso selecionar o (maior campo1 - o menor campo1) dividido por (soma
> do campo2 - o ultimo campo2).
> Só pra acrescentar, o campo1 sempre terá um valor ascendente e o campo 2
> aleatório. O valor que sera
> subtraído da soma do campo 2 sempre estará no registro do maior campo1.
> No exemplo teria que ser
> (4900 - 1000) / (2850 - 900)
>
> Se existisse uma funcao LAST seria algo como:
> select (max(CAMPO1) - min(CAMPO1)) / (sum(CAMPO2) - last(CAMPO2)as total
> from TAB1
>
> valeu ...
>
> _________________________________________________________________
> MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista