Access SQL中的条件子句

时间:2012-09-10 18:11:13

标签: sql ms-access

我希望在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
)

非常感谢任何帮助。

1 个答案:

答案 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
        )
    )