【发布时间】: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