考虑开关功能作为多个的替代IIf()
表达式。它将返回表达式计算结果为 True 的第一个表达式/值对中的值,并忽略任何剩余的对。这个概念类似于SELECT ... CASE
您引用的方法,但在 Access SQL 中不可用。
如果要将计算字段显示为commission
:
SELECT
Switch(
OpeningBalance < 5001, 20,
OpeningBalance < 10001, 30,
OpeningBalance < 20001, 40,
OpeningBalance >= 20001, 50
) AS commission
FROM YourTable;
如果您想将该计算值存储到名为的字段commission
:
UPDATE YourTable
SET commission =
Switch(
OpeningBalance < 5001, 20,
OpeningBalance < 10001, 30,
OpeningBalance < 20001, 40,
OpeningBalance >= 20001, 50
);
不管怎样,看看你是否发现Switch()
更容易理解和管理。多种的IIf()s
随着情况数量的增加,情况可能会变得令人难以置信。