如何在THEN子句中添加多个变量在Select语句中使用WHEN THEN

时间:2015-05-15 15:14:20

标签: mysql sql jasper-reports case-when

我正在尝试在IN子句中使用where语句,我写了以下语句,并给出了missing right parenthesis错误消息。我有谷歌,但无法找到相关的解决方案。

问题出现在以下语句中,当我使用单个参数时它可以正常工作,但是当我在THEN子句中使用多个参数时,它会给出错误消息。

我正在使用iReport

请指导我如何在THEN子句

中使用多个参数
select ...
from ..

WHERE
STATUS IN
CASE
     WHEN  $P{status} is not null THEN ($P{status}, ' ')
     WHEN  $P{status} is null THEN ('V', 'R')
END
and ..

1 个答案:

答案 0 :(得分:1)

将您的逻辑更改为简单的布尔比较:

WHERE ( $P{status} is not null AND STATUS IN ($P{status}, ' ') ) OR
      ( $P{status} is null AND STATUS IN ('V', 'R') )