我希望在Access SQL中的WHERE子句中添加条件IIf或CASE,以根据传递的值添加一个/或条件。我在网站上看到了几个例子,但它们有点不同,我一直在努力让代码在我的案例中运行。代码:
SELECT * FROM incHC
WHERE
incHC.repdte=(SELECT Max(repdte) AS maxDt FROM bYrs) AND
incHC.asset>0 AND
incHC.eq2<>0 AND
(
CASE WHEN recType="inst" THEN
incHC.orphan=0
ELSE
incHC.orphan<=1
END
)
非常感谢任何帮助。
答案 0 :(得分:2)
除非我遗漏了您的查询,否则您应该可以在没有CASE
的情况下执行此操作:
SELECT *
FROM incHC
WHERE incHC.repdte=(SELECT Max(repdte) AS maxDt FROM bYrs)
AND incHC.asset>0
AND incHC.eq2<>0
AND
(
(
recType="inst"
AND incHC.orphan=0
)
OR
(
recType<>"inst"
AND incHC.orphan<=1
)
)