内部联接中的子查询

时间:2016-11-03 15:32:15

标签: sql sql-server join subquery

好吧,为了按日期获得最后一个条目,我已经完成了该查询:

select cle
from ( select cle, clepersonnel, datedebut, row_number() 
over(partition by clepersonnel order by datedebut desc) as rn
        from periodeoccupation) as T 
where rn = 1 

这个是工作,并按日期给我最后一个条目,到目前为止我还好。

但是我第一次使用子查询时,我必须使用多个连接使查询更复杂。但我无法弄清楚如何在内连接中创建子查询。

这是我尝试的:

select personnel.prenom, personnel.nom
from personnel
inner join
( select cle, clepersonnel, datedebut, row_number() 
over(partition by clepersonnel order by datedebut desc) as rn
        from periodeoccupation) as T 
ON personnel.cle = periodeoccupation.clepersonnel
where rn = 1

但它不起作用!

如果您有任何想法或提示......谢谢!

1 个答案:

答案 0 :(得分:1)

只需更改

ON personnel.cle = periodeoccupation.clepersonnel

ON personnel.cle = T.clepersonnel

查询连接已使用别名,并且您已引用别名,因为别名查询中的表超出了外部语句中的范围。

相关问题