我正在子查询的where子句中测试这样的条件。但我得到错误"运营商必须跟随任何或所有"当我执行SSRS报告时。
dbase是oracle。我需要在参数中使用IN,因为SSRS报告中的参数是多值的。我正在使用一个单独的函数来生成日期:P_Date。 我需要检查这个日期是=还是<或者为null。所有这三个条件都需要进行测试。
where
trunc(tt.fyh_fecha) IN (:P_Date) OR
trunc(tt.fyh_fecha) <(:P_Date) OR
trunc(tt.fyh_fecha) IS NULL AND
tc.cod_tree = 'blue' AND
tt.color_flower = 'pink'
答案 0 :(得分:0)
这似乎没有直接可能 - 您正在尝试使用包含针对&lt;的值的数组的参数。只需要一个值的运算符。你的设计对我来说没有任何合理意义(&lt; =多个日期?),但无论如何......
我会在日历/日期维度表中添加一个联接,我将应用IN (:P_Date)
条件将日期值列表作为故意交叉联接。
然后我会替换:
trunc(tt.fyh_fecha) IN (:P_Date) OR
trunc(tt.fyh_fecha) <(:P_Date) OR
使用:
trunc(tt.fyh_fecha) <= Dim_Date.Date_Value