java、.net、kettle等三种以上方式实现以下程序,求助。

某企业有一个项目表,项目收入表,项目到账表。
他们之间的对应关系为,项目表与项目收入表为1对多。项目表与项目到账表为1对多关系。
举例如下

     项目编号             项目名称      项目额

     1001(PK)            a                400

     1002                       b                500

项目收入

收入ID 项目编号 项目收入确认时间 项目收入

1(PK) 1001 2014.4.20 30

2 1001 2015.3.20 100

项目到账

到账ID 项目编号 项目到款时间 项目到款

1 1001 2014.5.20 20

2 1001 2015.4.20 80

要求处理规则

     项目到账先冲销时间最早的收入,最终产生的输出结果为

项目收入冲销表

收入ID 项目编号 项目收入确认时间 项目收入 已经冲销金额

1(PK) 1001 2014.4.20 30 30

2 1001 2015.3.20 100 70

那么,1001项目,项目收入2015年3.20日,有30元应收帐款

要求

1. 采用.net 程序(采用Linq语法,entityFrameWrok框架)

2. 采用ETL工具(kettle) ,代码插件的方式

3. 采用Qlikview的ETL过程

4. 采用Java程序,也采用linq的语法,来实现该过程

采用3种方式实现以上输出