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 */