我有两个大表(每个约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语句将声明两个输入表中的变量.