我需要在 Jasper iReport 中绘制一个图表,可以根据用户选择对结果进行汇总。假设我有水果桌:
id (pk) town bananas orange cherry
1 boston 5 0 11
2 paris 100 18 12
3 bucharest 10 3 9
4 barcelona 9 4 12
从带有 ireport 参数的 Jasper Web 服务器输入控件 (java.util.collection) 用户将选择水果/水果。
我需要总结用户选择的所有水果并绘制图表。
例如,当用户同时选择“香蕉”和“橙子”时,结果将是
town result
1 boston 5
2 paris 118
3 bucharest 13
4 barcelona 13
问题是:
我做不到
select sum(bananas,orange) as result from fruits group by town
。
mysql sum 函数不能以这种方式工作,但这是 jasper 输入控件将用户选择返回给报告查询的方式。
我试过SELECT (SELECT REPLACE('bananas,orange', ',', '+')) as result from fruits group by town
了,但是 MySQL 不能将替换语句识别为列名。我明白了:
town result
1 boston bananas+orange
2 paris bananas+orange
3 bucharest bananas+orange
4 barcelona bananas+orange
同样,SELECT sum(SELECT REPLACE('bananas,orange', ',', '+')) as result from fruits group by town
将返回 0 作为结果
任何的想法?也许这可以从 ireport 完成..?