Multiple SQL queries in a report
The requirement is to generate a single report connecting to a single DB:
- Query1 is a gr开发者_StackOverflow社区oup 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.
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:
- Create a parameter named
WHERE_CLAUSE
in the report. - Give
WHERE_CLAUSE
a default value of1=1
. - 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.
精彩评论