0

我有两个如下表。

Profile : ID
Charac : ID, NAME, DATE

通过上面的表格,我试图NAMECharac我们有max date的地方得到。

我正在尝试proc sql通过复制mysql的答案来加入,如下所示

proc sql;
create table ggg as
select profile.ID ,T2.NAME
from Profile
left join 
(   select ID,max(DATE) as max_DATE
    from EDW.CHARAC
    group by ID
) as T1
on fff.ID = EDW.ID
left join EDW.CHARAC as T2
on T2.ID = T1.max_DATE
order by profile.ID DESC;
quit;

错误

错误:未解决对表/相关名称 EDW 的引用。

错误:使用等于 (=) 的表达式具有不同数据类型的组件。

4

2 回答 2

1

你不能这样用EDW。你需要加入

on fff.ID=T1.ID

就数据类型而言,这可能是因为EDW.ID未定义,因此默认为数字。

于 2014-10-17T15:10:24.203 回答
1

会不会是你的本意

on T2.ID = T1.max_DATE

这可能是“不同数据类型的组件”错误的来源

成为:

on T2.ID = T1.ID and T2.DATE = T1.max_DATE

那是-在最大日期加入ID?

于 2014-10-17T15:47:15.697 回答