夫妻年龄和超过 70 岁的家庭

 

问题

某企业打算给企业内的夫妻员工提供廉价购房福利,此福利只对夫妻都在企业内的家庭提供,且条件之一是夫妻的年龄和达到或超过 70 岁。下面是企业的员工信息表:

imagepng

下面是职工关系表,记录着两职工之间的关系,雇员 1 与雇员 2 字段中保存的都是雇员 ID,该表的关系没有重复:

imagepng

试找出其中年龄和达到或超过 70 岁的家庭。

思路

大致思路:这个问题,只要将关系表中的雇员字段都替换为相应的雇员记录,而后就可以直接提取到相应雇员的出生日期,接下来计算年龄、年龄和以及筛选等操作也就非常容易了。

  1. 首先从关系表中选出夫妻关系的员工组。

  2. 将选出的记录的雇员字段都按照雇员 ID 替换为雇员表中对应的雇员记录。这样就可以直接从该表中提取到每名雇员的出生日期,从而算出年龄了。

  3. 通过此表生成新序表,包括两名雇员的姓名及其年龄和。

  4. 选出年龄大于等于 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 的家庭

结果

imagepng