题解 | 更新员工信息表

更新员工信息表

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

select
    EMPLOYEE_ID,
    POSITION,
    LAST_UPDATE_DT
from
    (
        select
            EMPLOYEE_ID,
            POSITION,
            LAST_UPDATE_DT,
            ROW_NUMBER() over (
                partition by
                    EMPLOYEE_ID
                order by
                    LAST_UPDATE_DT desc
            ) as ranks
        from
            (
                select
                    EMPLOYEE_INFO.EMPLOYEE_ID,
                    POSITION,
                    LAST_UPDATE_DT
                from
                    EMPLOYEE_INFO
                union
                select
                    EMPLOYEE_UPDATE.EMPLOYEE_ID,
                    NEW_POSITION as POSITION,
                    UPDATE_DT as LAST_UPDATE_DT
                from
                    EMPLOYEE_UPDATE
            ) as t1
    ) as t2
where
    ranks = 1;

全部评论

相关推荐

牛客54175811...:今年对双非很难。1、争取一段大厂实习经历,2、狂磕八股,3、再跑个难度提升的项目。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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