小编典典

JasperReports:如何根据布尔参数在SQL查询中添加WHERE语句?

sql

如果我的Boolean参数在 JasperReports中 为true,如何在SQL中添加sub where语句?
例如,我的SQL如下所示:

SELECT * FROM shops WHERE region = "Canada" ORDER BY name

如果我的参数为true,我想 and isactive = 'Y' 在之前添加 ORDER BY
有人知道我怎么能做到这一点吗?


阅读 230

收藏
2021-04-14

共1个答案

小编典典

您可以添加其他参数来设置其他子句值。之后,您可以
$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>
2021-04-14