【发布时间】:2015-06-05 19:23:34
【问题描述】:
我有这样的代码
PROC SQL;
CREATE TABLE my_table as
SELECT DISTINCT(
t1.*,
t2.*,
t3.value3 )
FROM table1 as t1
INNER JOIN table2 as t2
ON t1.value = t2.value
INNER JOIN t3.value as t3
ON t1.value2 = t3.value2
;
quit;
但 SAS 将 t1.* 视为一种格式。我该怎么办?有没有办法在不先建立 2 个单独的表的情况下表达这一点?
【问题讨论】:
-
我认为您不需要括号。你得到什么错误?
-
代码中的“ON t2.value = t2.value”是错误的。它是“ON t1.value = t2.value”。
-
这是括号。我更改为 distinct (t1*) 、 Distinct(t2) 等,现在它似乎可以工作了。谢谢(对不起,我的意思是 t1=t2 值我将表名更改为 post。
-
DISTINCT应该只出现一次。SELECT DISTINCT T1.*, t2.*, t3.value3 from ...是正确的。把它放在多个地方没有帮助。 -
不确定这是否是问题所在,但是“INNER JOIN t3.value as t3”是什么意思? 't3' 库中是否有库名称 't3' 和名为 'value' 的表?如果是这种情况,在您的查询中再次使用“t3”,但这次是指一个表?