<br />
a=data.frame(startdate=c(as.Date('1999-1-1'),as.Date('2001-1-1')),enddate=c(as.Date('2001-1-1'),as.Date('2099-12-31')),value=c(1,2))<br />
b=data.frame(date=seq.Date(as.Date('1999-1-1'), by='months', length=26))<br />
即:
<br />
> a<br />
startdate enddate value<br />
1 1999-01-01 2001-01-01 1<br />
2 2001-01-01 2099-12-31 2</p>
<p>> b<br />
date<br />
1 1999-01-01<br />
2 1999-02-01<br />
3 1999-03-01<br />
4 1999-04-01<br />
5 1999-05-01<br />
...<br />
24 2000-12-01<br />
25 2001-01-01<br />
26 2001-02-01<br />
请问如何根据a中的时间起始点与截止点将a中的value和b合并?即实现如下逻辑?
select * from a,b where b.date>=a.startdate and b.date<a.enddate
</p>