我正在使用Proc SQL创建Teradata视图。我使用了Execute(传递工具)并使用变量传递列名。但是,创建的视图没有按照传递给查询的顺序列。它们是以任意随机顺序创建的。有办法解决这个问题吗?
答案 0 :(得分:1)
使用描述的方法here:
data tmp;
aa = 1;
db = 1;
ac = 1;
bb = 1;
run;
proc sql ;
select name into :VARLIST separated by ', '
from dictionary.columns
where libname = 'WORK'
and memname = 'TMP'
order by name ;
quit ;
proc sql ;
create table ordered as
select &VARLIST
from work.tmp ;
quit ;
答案 1 :(得分:0)
不熟悉Teradata本身,更习惯使用SAS / DB2,但如果不使用execute(),你会使用类似的东西 - 这会在SAS端创建视图(可能不是你所追求的是什么,我并不完全确定。
proc sql;
connect to teradata (user=testuser password=testpass);
create view work.myView as
select * from connection to teradata
(select var1, var2, var3
from someTable);
quit;