Пытаясь понять, почему моя хранимая процедура выдает ошибку «деления на ноль», я сузил ее до этой области. Если я прокомментирую следующие строки, запрос будет выполнен успешно. Я не уверен, почему.
PartReceived.QuantityReceived /
(CASE
WHEN PurchaseOrderItem.QuantityOrdered IS NULL THEN PurchaseOrderItem.QuantityOrdered
WHEN PurchaseOrderItem.QuantityOrdered = 0 THEN PurchaseOrderItem.QuantityOrdered
ELSE PurchaseOrderItem.QuantityOrdered
END) * 100.0 AS PercentageReceived
Я получаю это предупреждение перед ошибкой, но я сделал многое из того, к чему меня привел любой поиск в Google. Я пробовал использовать IFNULL вместо IS NULL THEN, но это тоже не сработало.
Warning: Null value is eliminated by an aggregate or other SET operation.