У меня есть эта таблица (vol_week) с четырьмя столбцами. Пример:

date_ent  | ped_kg | prd_kg | ref_kg
12/9/2017 | 345,22 | 321,23 | 12,56

Я пытаюсь вычислить (ped_kg - prd_kg + ref_kg), но запрос возвращает ошибочные значения. Иногда правильные, иногда близкие значения.

SELECT date_ent, iif((Sum(ped_kg)-Sum(prd_kg)+Sum(ref_kg))<0,0,(Sum(ped_kg)-Sum(prd_kg)+Sum(ref_kg))) AS sld_kg
FROM vol_week
WHERE date_ent Is Not Null
GROUP BY date_ent
ORDER BY date_ent

Я использую MS Query в MSExcel.

РЕДАКТИРОВАТЬ: Проблема решена :) Запрос был рассчитан с использованием отрицательных значений. Таким образом, запрос учитывает нули от <0,0 условия:

SELECT date_ent, Sum(iif(((ped_kg-prd_kg)+ref_kg)<0,0,(ped_kg-prd_kg)+ref_kg)) AS sld_kg
FROM vol_week
WHERE date_ent Is Not Null
GROUP BY date_ent
ORDER BY date_ent

1 ответ1

1

Ваш запрос в порядке. Возможно проблема с данными (формат). Meybe неправильно интерпретирует данные, возвращаемые mquery. Просто большое единственное значение для prd_kg so что агрегатная функция возвращает 0 для всей совокупности (см. Пример ниже) смотри пример ,

Попробуйте заново подготовить mquery, вставив SQL-запрос в специальное поле.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .