如何使用“Proc SQL”创建表,而不从现有表中进行选择

如何使用“Proc SQL”创建表,而不从现有表中进行选择,sql,sas,proc-sql,Sql,Sas,Proc Sql,什么是SAS版本的“从双选择”?我想使用Proc SQL创建一个表,而无需从激活表中进行选择。例如。基本上我想要的是: PROC SQL; CREATE TABLE tmptable AS SELECT 1 AS myvar FROM dual; QUIT; 这是行不通的。我有什么选择?我认为SAS中没有类似于从双通道选择的功能。 但如果这对您有帮助,您可以尝试: proc sql inobs=1; /* limit read to only one observations */

什么是SAS版本的“
从双
选择”?我想使用
Proc SQL
创建一个表,而无需从激活表中进行选择。例如。基本上我想要的是:

PROC SQL;
  CREATE TABLE tmptable AS
  SELECT 1 AS myvar FROM dual;
QUIT;

这是行不通的。我有什么选择?

我认为SAS中没有类似于从双通道选择的功能。 但如果这对您有帮助,您可以尝试:

proc sql inobs=1; /* limit read to only one observations */
  select 1 as myvar
  from sashelp.table /* or any table desired */
  ; 
quit;

INOBS=1确保您只从
sashelp.table
中读取一行,因此您只有一个结果。

如您所述,SAS
Proc SQL
没有预制的
DUAL

您可以改用
CREATE
INSERT
语句

范例

proc sql;
  create table want (x num);

  insert into want values (1);

  insert into want 
    values(2)
    values(3)
  ;
quit;
或者首先创建您自己的
(如果将SQL代码迁移到SAS
Proc SQL

proc sql;
  create table dual (dummy char(1)); insert into dual values ('X');

  CREATE TABLE tmptable AS
  SELECT 1 AS myvar FROM dual;
quit;