Вы уверены, что это ваша ошибка?Я просто выполнил приведенное ниже утверждение, и оно сработало:
DECLARE @OFR DECIMAL(18,2)
;
with DistributionCosts as
(
select 1 as quantity, 5 as gross
union
select 5 , 20
)
SELECT @OFR =
CASE SUM(ofr.Quantity)
WHEN 0 THEN 0
ELSE SUM(ofr.Gross) / SUM(ofr.Quantity)
END
FROM DistributionCosts ofr
;
SELECT @OFR
Если я выберу столбец в дополнение к установке переменной, я получу вашу ошибку ... Если вы выбираете другой столбец, вам нужно будет либо остановитьвыделение этого столбца или присвоение этого столбца локальной переменной.