Я пытаюсь сделать базовый расчет в MS Access SQL.Использование коммутатора в MS Access SQL
У меня есть таблица под названием Weekly
, с еженедельными статистику для каждого пользователя, включает в себя следующие столбцы: User
, Fail
, Pass
, Approve
и Reject
(и некоторые несущественные идентификаторы и даты значения).
Когда я выполнить следующий запрос:
SELECT User, Switch(Approve>0,Pass/Approve, Approve = 0, Null) AS passed_approved_ratio, Switch(Reject>0,Fail/Reject, Reject= 0, Null) AS fail_reject_ratio
FROM Weekly
я получаю #ERROR
значение в нескольких полученных строк.
Я пробовал и без второго условия + значения в Switch
Funciton (Switch(Approve>0, Pass/Approve)
,
Сбой, Pass, утвердить и отклонить все имеют ненулевое числовое значение в еженедельном таблице, так почему они не решают в нулевое значение, если Утверждение или отклонение от 0
Могут ли значения быть <0? Попробуйте утвердить <= 0 в качестве второго аргумента. – dwo
В таблице нет отрицательных значений. В любом случае отрицательное значение должно приводить к Null, потому что не выполняются условия (согласно определению функции Switch). – Jono