[firebase-br] Maravilhas do comando CASE WHEN
Ana Virginia da Silva
virginia em farsoft.com.br
Dom Maio 20 10:18:49 -03 2007
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
Mais detalhes sobre a lista de discussão lista