Я использую SQL Management Studio 2012. Я получаю ошибку «Ошибка деления на ноль». Я знаю, что это требует использования NULLIF, но я не уверен, как использовать его в моем запросе.
Это мой запрос
select
Ward,
LocalAuthority,
Fiscal,
DR,
cast(DR*100.0 /SUM(DR) OVER (
partition by localauthority, fiscal
order by fiscal asc) as Decimal (10,2)) as [DR%]
from (
select
Fiscal,
LocalAuthority,
Ward,
sum(case when code = 'DR' then 1 else 0 end) as DR
from [dbo].[Table]
where datetimeofcall >= '2014-04-01'
group by
ward,
localauthority,f
fiscal
) as A
Я действительно задавал этот вопрос раньшена что какой-то добрый человек ответил превосходно, но это было без агрегатной функции OVER () и SUM, я путаюсь с синтаксисом. Я пробовал различные коннотации ниже, но безуспешно.
cast(DR*100.0 /NULLIF(SUM(DR,0),1) OVER(partition by localauthority,fiscal order by fiscal asc) as Decimal (10,2)) as [DR%]