题解 | 更新员工信息表

更新员工信息表

https://www.nowcoder.com/practice/1eb20d4bf7c5443da7b84105372c9070

WITH tp as(select EMPLOYEE_ID,NEW_POSITION, UPDATE_DT,row_number() over(partition by EMPLOYEE_ID ORDER BY UPDATE_DT desc) AS rk
from EMPLOYEE_UPDATE
),

tp2 as (select EMPLOYEE_ID,NEW_POSITION, UPDATE_DT
from tp 
where rk =1
)

select a.EMPLOYEE_ID, if(LAST_UPDATE_DT < UPDATE_DT,t.NEW_POSITION,a.POSITION) as POSITION, if(LAST_UPDATE_DT < UPDATE_DT,UPDATE_DT,LAST_UPDATE_DT) as LAST_UPDATE_DT
from EMPLOYEE_INFO as a join tp2 as t on a.EMPLOYEE_ID = t.EMPLOYEE_ID


全部评论

相关推荐

牛客66512506...:那个百度acg是不是个小哥啊,老是问些底层问题狠狠为难,然后kpi
哪些公司在招寒假实习?
点赞 评论 收藏
分享
allin实习的大白...:我把第二个项目发出来了,如果感兴趣可以去研究研究,欢迎交流。 https://gitee.com/jtyjtyjty333/ind-dist-ai-sec-edge-cloud https://github.com/jtylab/ind-dist-ai-sec-edge-cloud
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务