You can use subqueries (not shown) or a left join:
proc sql;
select
a.*,
sum(b.sharesowned) as sumshares,
sum(b.totaloutstanding) as sumoutstanding
from
have as a left join
have as b
on a.fund=b.fund and
a.year=b.year and
a.state ne b.state and
a.state is not missing
group by a.fund, a.year, a.stock, a.state, a.sharesowned, a.totaloutstanding;
quit;
... View more