0

嗨,我有两张桌子,一张是人,另一张是他的收入

人的表结构

insert into  person (person_id,start_date) values (1,02-jan);
insert into  person (person_id,start_date) values (1,03-jan);
insert into  person (person_id,start_date) values (1,04-jan);
insert into  person (person_id,start_date) values (1,14-jan);

我有一个叫做收益的表,结构如下

insert into  earnings (person_id,start_date) values (1,01-jan);
insert into  earnings (person_id,start_date) values (1,04-jan);
insert into  earnings (person_id,start_date) values (1,10-jan);
insert into  earnings (person_id,start_date) values (1,13-jan);

在这里,我必须推导出一个逻辑来开发一个表,其中包含来自人员和收入的所有值加入人员 ID 上的 2 个表,并且我还需要拥有所有收入的数据。

在这里,一个人的开始日期是记录生效之日起的生效日期,对于该人的收入也是如此。

茶几应该是这样的。很抱歉,我不能在我的问题中放入表结构,所以我给出了插入语句。

所需的表输出

insert into pers_earnings(person_id,person_start_date,earnings_start_date) values (1,02-jan,01-jan);

insert into pers_earnings(person_id,person_start_date,earnings_start_date) values (1,03-jan,01-jan);


insert into pers_earnings(person_id,person_start_date,earnings_start_date) values (1,04-jan,04-jan);


insert into pers_earnings(person_id,person_start_date,earnings_start_date) values (1,04-jan,10-jan);


insert into pers_earnings(person_id,person_start_date,earnings_start_date) values (1,04-jan,13-jan);


insert into pers_earnings(person_id,person_start_date,earnings_start_date) values (1,14-jan,13-jan);

让我知道你的建议,以获得这个理想的输出表。

4

1 回答 1

1
create or replace Table pers_earnings
as
Select 
person.person_id, 
person.start_date person_start_date, 
earnings.start_date earnings_start_date
from  person inner join earnings on person.person_id =  earnings.earnings_start_id
where
person_start_date <= earnings_start_date;
于 2013-02-14T22:07:56.030 回答