4
我有一個報告,其中可能有多個值被傳遞給名爲Product_Type
的參數。 所以我的查詢變得像這樣:JasperReports:如何創建一個以多個值作爲輸入的參數
Select Id, name from temp where product_type IN ('prod1','prod2','prod3')
我有一個報告,其中可能有多個值被傳遞給名爲Product_Type
的參數。 所以我的查詢變得像這樣:JasperReports:如何創建一個以多個值作爲輸入的參數
Select Id, name from temp where product_type IN ('prod1','prod2','prod3')
你應該PRODUCT_TYPE類型設置爲java.util.List的
在SQL使用IN功能:
Select Id, name from temp where $X{IN,product_type,Product_Type}
如果你傳遞一個空列表,$ X {IN ,..,..}評估爲SQL「TRUE」
在iReport中,當您測試報告時,您會看到一個邀請框。類型:
PROD1,Prod2的,prod3
此查詢不工作...給出了一個錯誤 SELECT ROWNUM,REPORTING_MON_YEAR,PROD_TYPE FROM temper_tst 其中$ X {IN,PROD_TYPE,產品} 和上(月)像上( '$ P!{}每月%') 和上(YEAR)像上( '$ P!{}一年%') – payal
我不知道你的引擎是什麼,但要小心,因爲我認爲它是區分大小寫的。您在同一個表中有名爲rownum,REPORTING_MON_YEAR,PROD_TYPE的字段? 嘗試確定它不起作用的原因...如果您的SQL引擎提供監視器控制檯,請查看由iReport發送的查詢。你也可以嘗試減少查詢: 1)SELECT ROWNUM,REPORTING_MON_YEAR,PROD_TYPE FROM temper_tst; 2)SELECT ROWNUM,REPORTING_MON_YEAR,PROD_TYPE FROM temper_tst其中$ X {IN,PROD_TYPE,產品}; (如果你有一個大集合,還可以添加LIMIT 10) – Jmini