报告中的多个 SQL 查询
要求是生成连接到单个数据库的单个报告:
- Query1 是一个分组查询,并具有基于它的条形图和饼图。
- Query2 是一个创建表的简单查询。
这两个查询都需要基于动态提供的 WHERE
子句的结果。
有人可以给我举一些关于如何实现这一目标的例子吗?
谢谢。
The requirement is to generate a single report connecting to a single DB:
- Query1 is a group by query and has a bar chart and pie chart based on it.
- Query2 is a simple query on which a table gets created.
Both these queries need results based on a WHERE
clause, which is supplied dynamically.
Can somebody point me to some examples on how to achieve this?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以告诉 JasperReports 使用参数来使用
$P!{PARAMETER_NAME}
语法定义部分查询。这告诉 JasperReports 使用PARAMETER_NAME
的文字值作为查询的一部分。然后您可以执行以下操作:WHERE_CLAUSE
的参数。WHERE_CLAUSE
指定默认值1=1
。$P!
表达式将文本 SQL 语句更改为:这是一个有效的查询。请注意
$P{}
和$P!{}
之间的区别 - 感叹号 (!
) 很重要。然后您可以动态提供 SQL 条件。
You can tell JasperReports to use a parameter to define part of the query using the
$P!{PARAMETER_NAME}
syntax. This tells JasperReports to use the literal value ofPARAMETER_NAME
as part of the query. You can then do:WHERE_CLAUSE
in the report.WHERE_CLAUSE
a default value of1=1
.The
$P!
expression changes the literal SQL statement to:That is a valid query. Note the difference between
$P{}
and$P!{}
-- the exclamation mark (!
) is important.You can then supply the SQL conditions dynamically.