異なるテーブルから複数のフィールドを呼び出さなければならないレポートを作成したいと考えています。これまでオンラインで読んだことから、これを行う唯一の方法はサブレポートを作成することです。
これは本当ですか、またはデータを取得するために異なるテーブルに対して複数のクエリを実行できる方法はありますか?
異なるテーブルから複数のフィールドを呼び出さなければならないレポートを作成したいと考えています。これまでオンラインで読んだことから、これを行う唯一の方法はサブレポートを作成することです。
これは本当ですか、またはデータを取得するために異なるテーブルに対して複数のクエリを実行できる方法はありますか?
複数のクエリを実行する必要がある場合は、次のオプションがあります。
サブレポートを使用します。これは (JasperReports 1.x 以降でサポートされている) 最も古く、2 番目のクエリの結果に対してほとんど何でもできるため、最も強力な方法です。ただし、これも面倒で、サブレポートが 1 つまたは 2 つ以上ある場合は、すぐに管理できなくなります。
データセットを使用します。これらにより、別のクエリを実行できます。結果セットは、限られた一連のコンポーネントで使用できます (私が知っているチャート)
テーブルを使用します。これらは非常に新しく (JasperReports 3.7 で導入されました)、別のクエリを実行して特定のテーブルを埋めることができます。
私の経験では、ほとんどの場合、複数のクエリは必要ありません。ほとんどのケースは、適切に定義された 1 つの SQL クエリで処理できます。複数のテーブルからのデータが必要な場合は、それらを 1 つのクエリで慎重に結合することで回避できます。