JasperReports:如何根据布尔参数在SQL查询中添加WHERE语句? [英] JasperReports: How to add a WHERE statement in SQL query depending on a Boolean parameter?

查看:133
本文介绍了JasperReports:如何根据布尔参数在SQL查询中添加WHERE语句?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我的布尔参数在 JasperReports 中为true,我如何在SQL中添加sub where语句?

例如,我的SQL如下所示:

How can I add a sub where statement in SQL if my Boolean parameter is true in JasperReports?
For example, I have my SQL as below:

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

如果我的参数为true,我想添加 和isactive ='Y' ORDER BY 之前。

有谁知道我怎么做到这一点?

If my parameter is true, I would like to add and isactive = 'Y' just before ORDER BY.
Anybody knows how I can achieve this?

推荐答案

您可以添加其他参数来设置附加子句值。之后,您可以使用 $ P!查询中的{} 语法。

You can add additional parameter for setting additional clause value. After that you can use $P!{} syntax in query.

示例:

<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>

这篇关于JasperReports:如何根据布尔参数在SQL查询中添加WHERE语句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆