如果我的Boolean参数在 JasperReports中 为true,如何在SQL中添加sub where语句? 例如,我的SQL如下所示:
SELECT * FROM shops WHERE region = "Canada" ORDER BY name
如果我的参数为true,我想 and isactive = 'Y' 在之前添加 ORDER BY 。 有人知道我怎么能做到这一点吗?
and isactive = 'Y'
ORDER BY
您可以添加其他参数来设置其他子句值。之后,您可以 $P!{} 在查询中使用语法。
$P!{}
例子:
<parameter name="param" class="java.lang.Boolean"/> <parameter name="whereCond" class="java.lang.String" isForPrompting="false"> <defaultValueExpression><![CDATA[$P{param} ? " AND isactive='Y'" : ""]]></defaultValueExpression> </parameter> <queryString> <![CDATA[SELECT * FROM shops WHERE region='Canada' $P!{whereCond} ORDER BY name]]> </queryString>