[firebase-br] Maravilhas do comando CASE WHEN

Fernando Reis Guimarães fernandobhz em gmail.com
Seg Maio 21 22:35:40 -03 2007


in db we trust......

Em 20/05/07, Ana Virginia da Silva<virginia em farsoft.com.br> escreveu:
> Eu adoro SQL...rsrsrs...só para exemplificar...
>
>
>
> select
>
> sum(
>
> case
>
>
>
> when ((o.percentual_reducao > 0) and (o.percentual_acrescimo>0)) then
>
>          coalesce(cast (
>
>          (o.valor*o.qtde)
>
>          +
>
>          ((o.valor*o.qtde)*o.percentual_acrescimo/100)
>
>          -
>
>          ((o.valor*o.qtde)*o.percentual_reducao/100)
>
>          as numeric(10,2)),0.00)
>
>
>
> when (o.percentual_acrescimo > 0) then
>
>          coalesce(cast (
>
>          (o.valor*o.qtde)
>
>          +
>
>          ((o.valor*o.qtde)*o.percentual_acrescimo/100)
>
>          as numeric(10,2)),0.00)
>
>
>
> when (o.percentual_reducao > 0) then
>
>          coalesce(cast (
>
>          (o.valor*o.qtde)
>
>          -
>
>          ((o.valor*o.qtde)*o.percentual_reducao/100)
>
>          as numeric(10,2)),0.00)
>
> else
>
>          coalesce(cast (
>
>          (o.valor*o.qtde) as numeric(10,2)),0.00)
>
> end) as total
>
>
>
>
>
> from OUTRAS_DESPESAS o
>
> LEFT OUTER JOIN SETORES_ESTOQUE se
>
> on se.id_setorestoque=o.is_setor
>
> LEFT OUTER JOIN PESSOAS p
>
> on p.id_pessoa=o.is_pessoa
>
> where o.is_prochosp=:is_prochosp
>
> and o.codigodespesa=:codigodespesa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>


-- 
Atenciosamente,
Fernando Reis Guimarães.
Analista/Programador.

Contatos
fernandobhz em gmail.com
http://www.fernandobhz.com
Celular 9213-3727




Mais detalhes sobre a lista de discussão lista