Я сделал этот запрос:
SELECT PRODUCTO, CASE WHEN TIPOMOV=02 THEN SUM((CANT*-1)/6) WHEN TIPOMOV=10 THEN SUM((CANT*-1)/6) WHEN TIPOMOV=06 THEN SUM(CANT/6) END AS CANTIDAD FROM MOVPROD GROUP BY PRODUCTO
но я получаю эту ошибку:
Столбец MOVPROD.TIPOMOV недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY. Сообщение 8120, Уровень 16, Состояние 1, Строка 5
Столбец MOVPROD.TIPOMOV недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY.
Сообщение 8120, Уровень 16, Состояние 1, Строка 5
пожалуйста, помогите!
Выражение CASE должно быть аргументом SUM():
CASE
SUM()
SELECT PRODUCTO, SUM(CASE WHEN TIPOMOV = '02' THEN (CANT*-1)/6) WHEN TIPOMOV = '10' THEN (CANT*-1)/6) WHEN TIPOMOV = '06' THEN (CANT/6) END) AS CANTIDAD FROM MOVPROD GROUP BY PRODUCTO;
Это должно работать-
SELECT PRODUCTO, SUM( CASE WHEN TIPOMOV = 02 THEN ISNULL((CANT*-1),0)/6) WHEN TIPOMOV = 10 THEN ISNULL((CANT*-1),0)/6) WHEN TIPOMOV = 06 THEN ISNULL((CANT/6),0) END ) AS CANTIDAD FROM MOVPROD GROUP BY PRODUCTO