PROC SQL:多个数据集连接上已存在警告变量
PROC SQL: Warning variable already exists on multiple dataset join
我有这个数据检查完整性代码用于我正在进行的肿瘤学研究。这表面上是为了确认 TU、TR 和 RS 是一致的。
proc sql ;
create table tu_tr_rs as
select tu.*,tr.*,rs.*
from trans.tu as tu
left join trans.tr as tr on tu.usubjid=tr.usubjid and tu.TULNKID
=tr.TRLNKID and tu.tudtc=tr.trdtc
left join trans.rs as rs on tr.usubjid=rs.usubjid and tr.trdtc=
rs.rsdtc
;
quit;
但是,当我 运行 此代码时,我收到警告
“文件 WORK.TU_TR_RS 中已存在变量 XXXX”。
当我将反馈选项添加到 PROC SQL 以获得更精细的外观时,我得到了这个
所以我知道是否是一个变量引起了这个警告,你可以使用 rename/DROP 组合来解决它,但对于这种情况,我必须明确说明每个变量select 语句中的数据集还是代码存在根本性错误?
是的,如果您想从 2 个(或更多)数据集中 select 具有相同名称的列,您只需明确 select 它们并给它们不同的名称。像这样:
create table tu_tr_rs as
select
tu.ColA as tu_ColA
,tu.ColB as tu_ColB
/* etc */
,tr.ColA as tr_ColA
,tr.ColB as tr_ColB
/* etc */
,rs.ColA as rs_ColA
,rs.ColB as rs_ColB
/* etc */
from trans.tu as tu
/* etc */
我有这个数据检查完整性代码用于我正在进行的肿瘤学研究。这表面上是为了确认 TU、TR 和 RS 是一致的。
proc sql ;
create table tu_tr_rs as
select tu.*,tr.*,rs.*
from trans.tu as tu
left join trans.tr as tr on tu.usubjid=tr.usubjid and tu.TULNKID
=tr.TRLNKID and tu.tudtc=tr.trdtc
left join trans.rs as rs on tr.usubjid=rs.usubjid and tr.trdtc=
rs.rsdtc
;
quit;
但是,当我 运行 此代码时,我收到警告
“文件 WORK.TU_TR_RS 中已存在变量 XXXX”。
当我将反馈选项添加到 PROC SQL 以获得更精细的外观时,我得到了这个
所以我知道是否是一个变量引起了这个警告,你可以使用 rename/DROP 组合来解决它,但对于这种情况,我必须明确说明每个变量select 语句中的数据集还是代码存在根本性错误?
是的,如果您想从 2 个(或更多)数据集中 select 具有相同名称的列,您只需明确 select 它们并给它们不同的名称。像这样:
create table tu_tr_rs as
select
tu.ColA as tu_ColA
,tu.ColB as tu_ColB
/* etc */
,tr.ColA as tr_ColA
,tr.ColB as tr_ColB
/* etc */
,rs.ColA as rs_ColA
,rs.ColB as rs_ColB
/* etc */
from trans.tu as tu
/* etc */