夫妻年龄和超过 70 岁的家庭
问题
某企业打算给企业内的夫妻员工提供廉价购房福利,此福利只对夫妻都在企业内的家庭提供,且条件之一是夫妻的年龄和达到或超过 70 岁。下面是企业的员工信息表:
下面是职工关系表,记录着两职工之间的关系,雇员 1 与雇员 2 字段中保存的都是雇员 ID,该表的关系没有重复:
试找出其中年龄和达到或超过 70 岁的家庭。
思路
大致思路:这个问题,只要将关系表中的雇员字段都替换为相应的雇员记录,而后就可以直接提取到相应雇员的出生日期,接下来计算年龄、年龄和以及筛选等操作也就非常容易了。
-
首先从关系表中选出夫妻关系的员工组。
-
将选出的记录的雇员字段都按照雇员 ID 替换为雇员表中对应的雇员记录。这样就可以直接从该表中提取到每名雇员的出生日期,从而算出年龄了。
-
通过此表生成新序表,包括两名雇员的姓名及其年龄和。
-
选出年龄大于等于 70 的记录即可。
代码
A | ||
---|---|---|
1 | =file("C:\\txt\\Employees.txt").import@t() | 雇员表 |
2 | =file("C:\\txt\\EmpRel.txt").import@t() | 雇员关系表 |
3 | =A2.select(Relationship==“Spouse”) | 选出夫妻关系的雇员 |
4 | >A1.keys(ID) | 为雇员表设置主键 |
5 | >A3.switch(Emp1,A1;Emp2,A1) | 将雇员关系表中的两个雇员字段都替换为相应的记录 |
6 | =A3.new(Emp1.Name:Emp1,Emp2.Name:Emp2, age(Emp1.Birthday)+age(Emp2.Birthday):TotalAge) | 利用雇员关系表生成新序表,同时算出每个家庭的年龄和 |
7 | =A6.select(TotalAge>=70) | 筛选出年龄和大于等于 70 的家庭 |
英文版
数据文件
Employees.txt
EmpRel.txt