我正在处理一些关键数据检索报告任务,并发现一些困难继续进行。基本上,它属于医疗领域,整个数据分布在几个表中,我无法更改数据库表设计的架构。为了完成我的报告,我需要以下步骤:
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 个连接(医疗数据总是很复杂),所以我不能在一个连接中完成所有这些(超过 50 个连接,这是不可能完成的。 ..)
之后,我运行我的 Spring Batch 程序,将 A 部分的所有数据和 b、c 部分的数据插入到一个表中,作为我的最终报告表。问题不是每个部分都有相同的行数,这意味着 A 部分可能会返回 10 行,而 B 部分可能会返回 20 行。由于每个部分的时间条件是相同的(1 天)并且无法更改,所以我想知道如何以最小的开销将所有这些不同的数据部分存储到一个表中。我不想有很多重复,感谢您的大力帮助。
雷