我正在使用BIRT报告编写器,我有多个具有相同数据结构的表。在我的报表设计中,我想选择我的查询用作报表参数的表(作为数据集中mysql查询的一部分) - 但我无法弄明白。
当我创建数据集时,我可以使用SELECT * FROM WHERE?形式的参数,并将它们设置为报告参数,但如果我设置了?我会收到错误。到表中,例如:
SELECT * FROM?在哪里
我还有其他办法吗?因为它是java,我假设语法遵循PreparedStatement的语法。在BIRT 2.5中,数据集对话框下有一个属性绑定选项......我尝试将查询设置为:“SELECT * FROM”+ params [“DataTable”]。value +“WHERE 1”,但这也是导致错误。
答案 0 :(得分:4)
我刚刚在BIRT Exchange回答了同样的问题:http://www.birt-exchange.org/forum/designing-birt-reports/19097-set-query-table-using-report-parameter.html#post62590
我应该注意,查询必须返回相同的字段&修改后的数据类型。我只注意到这一点,因为上面的陈述表格结构有点“变化”。修改BIRT查询中的FROM或WHERE子句是完全安全的,但是不能修改实际的SELECT结构。