他2023年提出问题一直没人解答,仔细想想,这个题目还是很有挑战性的!
我认真搞了搞,写下来以供大家参考。可能中间还有我忽略的地方,也欢迎大家指正。
我仿造这个题目,准备了以下数据:
create table company1(curName char(10),lastNamechar(10), updateDate date);
create table company2(curNamechar(10),logOffDate date);
insert into company1 values ('甲公司', '无', '2021-01-11'),
('丙公司', '无', '2021-01-15'), ('乙公司', '甲公司','2021-01-31'),
('丁公司', '乙公司', '2021-03-22'),('A公司', '无', '2021-03-22'),
('丙丙公司', '丙公司','2021-03-27'),('B公司', '丁公司','2021-03-28'),
('C公司', '无', '2021-03-29'),('D公司','无', '2021-03-30');
insert into company2 values ('一公司', '2020-12-26'),
('二公司', '2021-01-06'), ('三公司', '2021-01-31'),
('四公司', '2021-03-03'), ('五公司', '2021-03-22'),
('六公司', '2021-03-27'), ('丙丙公司', '2021-03-28'),
('C公司', '2021-04-27'), ('九公司', '2021-05-28');
mysql> select * from company1;
+--------------+-----------+------------+
| curName | lastName | updateDate |
+--------------+-----------+------------+
| 甲公司 | 无 | 2021-01-11 |
| 丙公司 | 无 | 2021-01-15 |
| 乙公司 | 甲公司 | 2021-01-31 |
| 丁公司 | 乙公司 | 2021-03-22 |
| A公司 | 无 | 2021-03-22 |
| 丙丙公司 | 丙公司 | 2021-03-27 |
| B公司 | 丁公司 | 2021-03-28 |
| C公司 | 无 | 2021-03-29 |
| D公司 | 无 | 2021-03-30 |
+--------------+-----------+------------+
9 rows in set (0.00 sec)
mysql> select * from company2;
+--------------+------------+
| curName | logOffDate |
+--------------+------------+
| 一公司 | 2020-12-26 |
| 二公司 | 2021-01-06 |
| 三公司 | 2021-01-31 |
| 四公司 | 2021-03-03 |
| 五公司 | 2021-03-22 |
| 六公司 | 2021-03-27 |
| 丙丙公司 | 2021-03-28 |
| C公司 | 2021-04-27 |
| 九公司 | 2021-05-28 |
+--------------+------------+
9 rows in set (0.00 sec)