#P1675. 2024.03.02-JD春招第三题-员工最晚更新时间(mysql题)

2024.03.02-JD春招第三题-员工最晚更新时间(mysql题)

No testdata at current.

题目描述

塔子哥公司的员工信息是人力资源管理的重要组成部分,请根据提供的员工信息表和最近的员工信息更新表,更新员工的职位信息。

员工信息表EMPLOYEE_INFO示例如下,其中 EMPLOYEE_ID 是员编号,POSITION 是员工职位,LAST_UPDATE_DT是最后一次职位信息更新时间。

员工信息更新表EMPLOYEE_UPDATE示例如下,其中EMPLOYEE_ID是员工编号,UPDATE_DT是信息更新时间,NEW_POSITION 是员工新职位。

但是现在遇到的问题是,EMPLOYEE_INFO表和EMPLOYEE_UPDATE表的信息不是一一匹配了。 你现在需要结合这2个表,输出一个最新的员工职位信息和更新时间。 遵循以下原则: 对于每个员工,首先在更新表EMPLOYEE UPDATE中找到每个员工最晚的UPDATE_DT。 1.如果更新表EMPLOYEE_UPDATE中最晚的UPDATE_DT”晚于EMPLOYEE_INFO表中的”LAST_UPDATE_DT“,则输出的职位信息和更新时间=更新表中的职位和时间。 2.否则的话,则输出的职位信息和更新时间=EMPLOYEE_INFO表中的职位和时间。最后的输出结果最后结果按照EMPLOYEE_ID升序排序.

示例输出如下:

EMPLOYEE_ID|POSITION|LAST_UPDATE_DT
EMP001|Manager|2022-03-15
EMP002|Senior Manager|2022-03-17
EMP003|Manager|2023-01-01

EMP001在更新表里的最晚UPDAT_EDT为2022-03-15,和 EMPLOYEE_INFO里的一样,输出EMPLOYEE_INFO表中的职位和时间。

EMP001在更新表里的最晚UPDATE_DT为2022-03-15,和EMPLOYEE_INFO里的一样,输出EMPLOYEE_INFO表中的职位和时间

EMP002在更新表里的最晚UPDATE_DT为2022-03-16,晚于 EMPLOYEE_INFO里的LAST_UPDATE_DT,输出EMPLOYEE_UPDATE表中的职位和时间

EMP003在更新表里的最晚UPDATE_DT为2022-03-16,早于 EMPLOYEE_INFO的LAST_UPDATE_DT,输出EMPLOYEE_INFO表中 的职位和时间

示例1

输入

drop table if exists EMPLOYEE INFO
CREATE TABLE EMPLOYEE_INFO(
EMPLOYEE_ID VARCHAR(10)PRIMARY KEY
POSITION VARCHAR(50)
LAST_UPDATE_DT_DATE
INSERT INTO EMPLOYEE_INFO(EMPLOYEE_ID,POSITION.
LAST_UPDATE_DT)
VALUES
('EMP001','Manager',"2022-03-15'),
('EMP002','Sales Associate','2022-03-16'),
('EMP003',Manager,2023-01-01);


drop table if exists EMPLOYEE_UPDATE
CREATE TABLE EMPLOYEE_UPDATE (
EMPLOYEE_ID VARCHAR(10)
UPDATE_DT DATE,
NEW POSITION VARCHAR(50)
);
INSERT INTO EMPLOYEE_UPDATE(EMPLOYEE_ID.UPDATE_DT
NEW_POSITION)
VALUES
('EMP001','2022-03-13','Director'),
('EMP002','2022-03-14','Senior Associate'),
('EMP001','2022-03-15','Senior Director'),
('EMP002','2022-03-16','Associate Manager'),
('EMP003','2022-03-16','Associate Manager'),
('EMP002','2022-03-17','Senior Manager');

输出

输出
EMPLOYEE_ID|POSITION|LAST_UPDATE_DT
EMP001|Manager|2022-03-15
EMP002|Senior Manager|2022-03-17
EMP003|Manager|2023-01-01