いくつかの重要なデータを取得するレポート タスクに取り組んでおり、続行するのにいくつかの問題があります。基本的には医療分野に属しており、全体のデータはいくつかのテーブルに分散されており、データベースのテーブル設計のアーキテクチャを変更することはできません。レポートを完成させるには、次の手順が必要です。
1- divide the whole report to several parts, for each parts retrieve data by using
several joins. (like for part A can be retrieved by this:
select a1.field1, a2.field2 from a1 left join a2 on a1.fieldA= a2.fieldA ) then I can
got all the data from part A.
2- the same things happened for part B
select b1.field1, b2.field2 from b1 left join b2 on b1.fieldB= b2.fieldB, then I also
get all the data from part B.
3- same case for part C, part D.....and so on.
それらを分割する理由は、各パーツに 8 つ以上の結合が必要なため (医療データは常に複雑です)、1 回の結合ですべてを完了することはできません (50 を超える結合では完了できません)。 ..)
その後、Spring Batch プログラムを実行して、パート A のすべてのデータとパート b、パート c のデータを最終的なレポート テーブルとして 1 つのテーブルに挿入します。問題は、すべてのパーツが同じ数の行を持つわけではないということです。つまり、パーツ A が 10 行を返し、パーツ b が 20 行を返す場合があります。各部分の時間条件は同じ (1 日) であり、変更できないため、これらの異なる部分のデータをすべて 1 つのテーブルに最小限のオーバーヘッドで格納するにはどうすればよいでしょうか。多くの重複をしたくありません。多大な助けに感謝します。
レイ