具有不同列的联合表

Bri*_*ian 1 sas proc-sql

我有两个大表(每个约1GB),有许多不同的列,我想在sas中执行union.

目前,我使用proc sql和union all的以下方法.

SELECT A, B, '' as C from Table_1 UNION ALL SELECT '' as A, B, C from Table_2

但是,这不是优选的,因为我在两个表中都有几十行,而且我不断添加它们.因此,我正在寻找一种方法来自动创建空白列,而无需明确地写出来.

我也尝试了以下查询:
select * from (select * from Table_1), (select * from Table_2)

然而,这看起来非常耗费计算并且需要永远运行.

有没有更好的方法来做到这一点?我也愿意使用data set而不是proc sql;

小智 6

一个简单的数据步骤应该做的事情:

data result_tab;
set Table_1 Table_2;
run;
Run Code Online (Sandbox Code Playgroud)

这将重写两个表.表_2中的记录将添加到result_tab的末尾.数据步骤中的Set语句将声明两个输入表中的变量.