我有一个如下所示的数据集
ctry | start | end
我有第二个数据集b
ctry | start | end
以及其他专栏。
我想基于ctry,开始和结束日期过滤第二个数据集
答案 0 :(得分:1)
假设您正在寻找某种内部联接(将所有记录保留在第二个数据集中,b,如果三列与第一个数据集中的列匹配)。尝试以下方法(许多方法之一):
proc sql;
create table filtered as
select b.*
from first_ds as a /* you never said what your first dataset was called */
inner join b as b
on a.ctry=b.ctry
/* edits following OP comment */
and a.start < b.end
and a.end > b.start;