【问题标题】:Jasper Report Dynamic Parameter for UNION Statement用于 UNION 语句的 Jasper 报告动态参数
【发布时间】:2014-07-08 07:42:40
【问题描述】:

基本上,使用 $P!{param} 是通过 iReport Designer 5.6.0 工作的。 但后来我在Java应用程序中使用报告后,出现错误。

查询在报告中的方式如下:

SELECT t1.column1, 
t2.column2,
t1.column3
$P!{selectParam}
FROM table1 t1
INNER JOIN table2 t2
    ON t1.key = t2.key
$P!{leftJoinParam}
WHERE 
...
GROUP BY ...
ORDER BY ...

在哪里

selectParam = " ,t3.column1, t3.column2, t3.column3 " <String>

leftJoinParam = " LEFT JOIN ( 
    SELECT key, tmp1, tmp2, tmp3 FROM DUAL
    UNION ALL
    SELECT ..., ..., ..., ... FROM DUAL
    UNION ALL
    ...
) t3  ON t3.key = t1.key " <String>
leftJoinParam 的值由 Java 应用程序传递给报告,其中 SELECT...UNION ALL 语句的选择计数可能会有所不同,具体取决于所需的数据报告。

iReport 设计器 中单独使用一些具有所需输出的虚拟参数数据,但无法在 Java 应用程序中工作,这令人困惑。 p>

这是我的 java 应用程序中的错误:

java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected

还有其他方法可以让我动态使用 SELECT...UNION ALL 吗?

【问题讨论】:

  • 查询中的t1.column3后面不应该有逗号吗?
  • 有一个逗号.. 抱歉.. :)

标签: java sql jasper-reports union-all


【解决方案1】:

已解决.. 我的应用程序参数名称不等于我的报表参数名称.. 现在很清楚整个报表 SQL 查询可以使用 $P!{...} 动态修改..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多