Wednesday, February 11, 2009

Product Of a Field

select Product, EXP(sum(log(abs(nullif(Value, 0))))) * (1+2*(cast(sum(sign(Value)-1)/2 as int) % 2)) * min(abs(sign(value)))
from @PRODUCT group by Product

select Exp(Sum((case Abs(column) when 0 then 0 else Log(Abs(column)) end)))*(case Min(abs(column)) when 0 then 0 else 1 end)*(1-2*(Sum( ( case when column>=0 then 0 else 1 end) ) % 2)) column