Java 使用JasperReports,如何使用子数据集的单个行和列结果填充文本字段?

Java 使用JasperReports,如何使用子数据集的单个行和列结果填充文本字段?,java,reporting,jasper-reports,ireport,Java,Reporting,Jasper Reports,Ireport,通常情况下,对于报告,您只需执行一个查询,即可返回大量数据,这些数据大部分打印在详细信息区域中。我看到的报告编写工具都是针对这种类型的报告的 我发现自己正在编写一些摘要报告,其中不只是一个查询和一个where子句返回大量数据。在这些报告中,有许多带有不同where子句的查询,每个查询只返回一个数字。报告只有一页,每个数字都在一个特定的位置 我要做的是编写一个巨大的查询。首先,我选择一行,然后对于我需要检索的每个额外的数字,我有一个左连接,它有自己的SQL,在结果中成为它自己的列。我想摆脱这个巨大

通常情况下,对于报告,您只需执行一个查询,即可返回大量数据,这些数据大部分打印在详细信息区域中。我看到的报告编写工具都是针对这种类型的报告的

我发现自己正在编写一些摘要报告,其中不只是一个查询和一个where子句返回大量数据。在这些报告中,有许多带有不同where子句的查询,每个查询只返回一个数字。报告只有一页,每个数字都在一个特定的位置

我要做的是编写一个巨大的查询。首先,我选择一行,然后对于我需要检索的每个额外的数字,我有一个左连接,它有自己的SQL,在结果中成为它自己的列。我想摆脱这个巨大的疑问。另外,我遇到了一种情况,mysql基本上是在抱怨查询太大;这与嵌套太深的子查询有关,但删除其中一个联接修复了这一问题

如果我能将每个查询作为一个单独的子数据集,并用结果数字填充一个文本字段,这将非常有帮助

可以使用scriptlet执行查询并将结果数字填充到变量中吗


其他报表编写程序/库是否能简化此操作?

为此,您可以使用子数据集
阅读这篇关于贾斯珀子数据集的文章,以及@GenericJon对此的回答


Jasper子报表
在某些情况下也可以帮助您。

列表组件正是我想要的,甚至在iReport中也支持它。这太棒了!非常感谢。