ホームページ >データベース >mysql チュートリアル >JasperReports の SQL 'IN' 句に複数の値を渡す方法は?

JasperReports の SQL 'IN' 句に複数の値を渡す方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-28 21:30:14859ブラウズ

How to Pass Multiple Values to an SQL

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。