题解 | 更新员工信息表

更新员工信息表

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

select EMPLOYEE_ID,
case when LAST_UPDATE_DT_new>LAST_UPDATE_DT then NEW_POSITION else POSITION end as POSITION,
case when LAST_UPDATE_DT_new>LAST_UPDATE_DT then LAST_UPDATE_DT_new else LAST_UPDATE_DT end as LAST_UPDATE_DT
from (
    select a.EMPLOYEE_ID, POSITION, LAST_UPDATE_DT, NEW_POSITION, UPDATE_DT,
    max(UPDATE_DT) over (partition by a.EMPLOYEE_ID) as LAST_UPDATE_DT_new
    from EMPLOYEE_INFO a join EMPLOYEE_UPDATE b on a.EMPLOYEE_ID=b.EMPLOYEE_ID
) temp
where UPDATE_DT=LAST_UPDATE_DT_new
order by EMPLOYEE_ID

全部评论

相关推荐

点赞 评论 收藏
分享
2025-12-10 19:50
山西大学 测试工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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