如何合并 SAS/SQL 中的两个表

How to merge two tables in SAS/SQL

我想使用主键连接两个数据集,如果第二个数据集中不存在(第一个数据集的)主键,则第二个数据集应该连接到第一个数据集中。

示例 - 数据集 1

Student R.NO age
Kevin 1. 25
Tom. 2.    26
joe.    3.    24

数据集 2

James. 1.  26
Stephnie 4.  21
Alaster.  3.   26

结果数据集 -

Student R.No.  Age
Kevin  1.    25
Tom.    2.   26
Joe.     3.    24
Stephnie 4.  21

这里只在结果数据集中添加了 Stephnie,因​​为她的 r.no 不在数据集 1

应该这样做:

proc sql;
create table dataset3 as 
select * from dataset2 
where r_no not in (select r_no from dataset1)
;quit;

data final;
set dataset1 dataset3;
run;
SELECT *
FROM Dataset1
UNION ALL
SELECT *
FROM Dataset2
    WHERE rowno NOT IN (SELECT rowno FROM #TEMP1)

输出: