SAS PROC SQL多表内连接语法错误排查求助
问题排查与修正
错误原因
PROC SQL多表连接语法不符合规范,不能在单个INNER JOIN后用逗号同时关联多个表,必须为每个需要关联的表单独声明INNER JOIN子句,配合USING或ON指定连接条件。
修正后的代码
PROC SQL; CREATE TABLE REJOIN_SCRS AS SELECT PREFIX.ROW_NUM, PFX_SCR, FRNME_SCR, MDNME_SCR, SRNME_SCR FROM PREFIX INNER JOIN FORENAME USING(ROW_NUM) INNER JOIN MIDDLENAME USING(ROW_NUM) INNER JOIN SURNAME USING(ROW_NUM); QUIT;
补充说明
- 每个
INNER JOIN仅对应一个关联表,确保语法严格匹配PROC SQL的要求 USING(ROW_NUM)适用于所有表中连接列名完全一致的场景,这里row_num为共同列,使用该语句更简洁高效
内容的提问来源于stack exchange,提问作者sassane
相关产品推荐
相关产品推荐

