АА
insert @t values(1),(-7),(-5),(-9),(3);
select isnull((select top(1)a from @t where a=0),1)
*isnull(nullif(sum(nullif(sign(a),1))%2,0),1)
*exp(sum(log(abs(nullif(a,0)))))from @t;
вроде работает, наверное можно и оптимальнее...
Size: a a a
АА
IZ
declare @d int =1только если есть групировка(сумма)
select case when @d=1 then sum(1)
else sum(log(0))
end
Причем
А
IZ
С
VL
А
IZ
А
declare @d int =1
select
case when @d=1 then sum(1)
else sum(1/0)
end
А
IZ
declare @d int =1
select
case when @d=1 then sum(1)
else sum(1/0)
end
А
А
А

IZ

А
IZ
А
IZ
IZ