我想使用ireport制作以下类型的报告:
Total Items: TOTAL_NO_OF_ITEMS
Damaged Items: NO_OF_DAMAGED_ITEMS
Non Damaged Items: NO_OF_NON_DAMAGED_ITEMS
表结构是:
Items{
item id int PK,
item_status varchar <!--having values as 'damaged' or 'non-damaged')-->
}
在 iReport的报告查询对话框中,我可以提供查询:
select count(*) item_counts , item_status status from Items group by item_status;
将生成
Damaged Items: NO_OF_DAMAGED_ITEMS
Non Damaged Items: NO_OF_NON_DAMAGED_ITEMS
但报告中的行:
Total Items: TOTAL_NO_OF_ITEMS
我必须再运行一次查询:
select count(*) total_items from items
所以我想问一下如何使用报表对话框中的ireport为单个jrxml文件提供多个查询?
...谢谢
答案 0 :(得分:0)
不需要针对此类问题进行多次查询。如果需要,您可以在数据库中执行所有处理:
select count(*) as item_counts, item_status as status from Items group by item_status
union all
select count(*) as item_counts, 'all items' as status from Items
或者您无法在数据库中进行处理:
select * from Items
order by item_status
然后在报告中创建3个变量来计算3个所需的值。
当然你可以使用混合动力车。保持当前查询不被修改,并添加一个变量来总结损坏和未损坏的项目以获得总数。