ziyenano 发表于 2012-12-5 17:09 
proc sql;
create table r as
select *
我有个不同的理解,运行该SQL步时会产生一个警告:
WARNING: Variable name already exists on file WORK.R.
所以我认为 name ‘c’ 不在数据集r中是因为:
1. 因为”select *“,因此结果数据集R中变量的顺序就由from语句中数据集的顺序决定;
2. from语句中a在前,因此a.name已经占据了“name”这个变量名,而到b.name就产生了上面的警告。
3. 如果把select语句改为“select b.*,a.*”,就会有‘c’了,因为b.name走在了a.name前面。