2016-02-11 76 views
1

我有两个表a和b。 我想加入这两个在以下两种情况下:有条件加入SAS

  1. a.time1 < b.time1和b.time1 < a.time2
    再加入A和B上的ID
  2. b.time1 < a.time1和a.time1 < b.time2
    然后加入a和b上ID

一个。

ID Name Time1     Time2 
1 Joe 01JAN2015:07:02:28 01JAN2015:07:49:13 
2 Jenny 01JAN2015:10:06:09 01JAN2015:10:07:11 
3 Angie 01JAN2015:07:02:12 01JAN2015:08:00:35 

b。

ID Name Time1     Time2 
2 David 01JAN2015:08:19:27 01JAN2015:09:15:29 
3 Mike 01JAN2015:10:58:22 01JAN2015:10:59:21 
4 Emily 01JAN2015:08:31:18 01JAN2015:08:53:19 

任何人都可以帮忙吗?

+0

请**校对您的文章**你提交之前。这是一个乱七八糟的文字,让你觉得你可以很容易清理。 – Siyual

+0

谢谢。这是第一次发布。记住! – jen

+0

您正在使用哪种数据库系统?甲骨文? MySQL的? MS SQL Server?请评论,以便可以分配正确的标记 – jclozano

回答

1

这应做到:

proc sql; 
    create table joined_data as 
    select * from 
    a 
    INNER JOIN 
    b 
    on a.x=b.x 
    where (a.time1 < b.time1 and b.time1 < a.time2) 
     or (b.time1 < a.time1 and a.time1 < b.time2); 
quit;