ホームページ >データベース >mysql チュートリアル >JasperReports の SQL 'IN' 句に複数の値を渡す方法は?
JasperReports で SQL "IN" パラメータ リストを渡す
JasperReports でクエリを構築する場合、多くの場合、SQL の "IN" 述語を使用して、値のリストに基づいてデータをフィルタリングします。これは、Java コードでパラメータ値を動的に指定することで実現できます。
クエリで「IN」述語を使用して顧客の役割に基づいて顧客をフィルタリングするシナリオを考えてみましょう。
SELECT customer_name AS NAME, id_customer AS ID FROM customer WHERE customer_role IN ($P{roles})
「roles」パラメータは複数の整数値を受け取ることができ、これらの整数値はレポート生成中に動的に決定されます。 Java コードを使用してこのパラメータを設定するには、次の手順に従います。
JasperReports は、「IN」パラメータの処理を簡略化する特別な変数「$X」を提供します。
select * from customer where $X{IN,customer_role,roles}
この式は効果的に「IN」述語内の「roles」パラメータで指定された値を含めます。リンクされたドキュメントで強調されているように、このアプローチは JasperReports バージョン 3.5 以降と互換性があり、複数のパラメーター値の正しい処理が保証されます。
以上がJasperReports の SQL 'IN' 句に複数の値を渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。