报告中的多个 SQL 查询

发布于 2024-11-06 09:22:31 字数 203 浏览 3 评论 0原文

要求是生成连接到单个数据库的单个报告:

  1. Query1 是一个分组查询,并具有基于它的条形图和饼图。
  2. Query2 是一个创建表的简单查询。

这两个查询都需要基于动态提供的 WHERE 子句的结果。

有人可以给我举一些关于如何实现这一目标的例子吗?

谢谢。

The requirement is to generate a single report connecting to a single DB:

  1. Query1 is a group by query and has a bar chart and pie chart based on it.
  2. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过去的过去 2024-11-13 09:22:31

您可以告诉 JasperReports 使用参数来使用 $P!{PARAMETER_NAME} 语法定义部分查询。这告诉 JasperReports 使用 PARAMETER_NAME 的文字值作为查询的一部分。然后您可以执行以下操作:

  1. 在报告中创建一个名为 WHERE_CLAUSE 的参数。
  2. WHERE_CLAUSE 指定默认值 1=1
  3. 考虑以下 SQL 语句:
    SELECT * FROM table WHERE $P!{WHERE_CLAUSE}

$P! 表达式将文本 SQL 语句更改为:

SELECT * FROM table WHERE 1=1

这是一个有效的查询。请注意 $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 of PARAMETER_NAME as part of the query. You can then do:

  1. Create a parameter named WHERE_CLAUSE in the report.
  2. Give WHERE_CLAUSE a default value of 1=1.
  3. Consider the following SQL statement:
    SELECT * FROM table WHERE $P!{WHERE_CLAUSE}

The $P! expression changes the literal SQL statement to:

SELECT * FROM table WHERE 1=1

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文