Die Verwendung von Schalter in MS-Access SQL
Ich versuche zu tun, eine basic-Berechnung in MS Access SQL.
Ich habe eine Tabelle namens Weekly
mit wöchentlichen Statistiken für jeden Benutzer enthält die folgenden Spalten: User
, Fail
, Pass
, Approve
und Reject
(und ein paar unwichtige-id und Datum-Werte).
Wenn ich führen Sie die folgende Abfrage:
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
Bekomme ich eine #ERROR
Wert in mehreren resultierenden Zeilen.
Ich habe es versucht mit und ohne die zweite Bedingung+ - Wert in der Switch
funciton (Switch(Approve>0, Pass/Approve)
,
Fail, Pass, Genehmigen und Ablehnen, haben alle eine nicht-null-Wert in der Wöchentlichen Tabelle, also warum nicht Sie beheben, der auf einen Null-Wert, wenn Sie Genehmigen oder Ablehnen von 0?
- Können die Werte < 0 ? Versuchen Sie Genehmigen <= 0 als zweites argument.
- Es gibt keine negativen Werte in der Tabelle. In jedem Fall, ein negativer Wert sollte im Ergebnis Null, da keine Voraussetzungen erfüllt sind (gemäß der definition der Switch-Funktion)
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Office-Hilfe heißt es:
Die Lösung:
Verwenden
Iif
so:Das funktioniert gut für jetzt. Ich würde immer noch gerne verstehen, warum ich wurde immer Fehler mit
Switch
, obwohl.