Dear SAS Users, I need to merge two datasets. In particular, I need to merge "return" data to "link" such that the "date" in "return" is between "LINKDT" and "LINKENDDT" in "link" data. For this I use the code below: proc sql;
create table comp2 as
select a.*, b.fyrc, b.gvkey
from return as a, link as b
where a.permno=b.lpermno and b.linkprim in ('P', 'C') and
b.LINKTYPE in ('LU', 'LC') and
a.date>= b.LINKDT and (a.date <= b.LINKENDDT or missing(b.LINKENDDT))
order by gvkey, date;
quit; The result that I get is that I have a merge for "gvkey" = 7701. Even though in the "link" it has "LINKDT" and "LINKENDDT " as 31-Jan-67 29-Dec-67 and 01-Jan-68 03-Jan-67. Basically, I should not be merged. Can you, please help me to resolve this issue? Why do this firm has a merge? I attach two datasets that I use (a sample)
... View more