从表中加入字段:职务是否变动,加入触发器,如果相同personID的记录数大于2,则 SET 职务是否变动 =是
然后
select max(任职时间) from 职务表 group by 个人编号 where 职务是否变动=是

解决方案 »

  1.   

    不如给每个人分配一个唯一的ID,其余的表都和此ID相关联.
      

  2.   

    主表不设置,因为就算不换工作,任何人第一次上班也当作换工作(personId,currentJob,...)一起作为key
      

  3.   

    每个人分配一个唯一的ID,其余的表都和此ID相关联.//yes, it is
    ACCESS数据库//no 触发器
      

  4.   

    liu_xiao() :不是工作的问题,是职务。一般人刚参加工作时是不会有职务的,但以后可能会有,而且还会不断任新的职务。其它的如学历,学位,一个人也不会是固定不变的,以后可能通过其它方式获得了新的学历与学位也是会的。
      

  5.   

    我的建议:1.现任职务与任职时间不应加入主表,减少数据冗余的目的不是为了减少存储,
    在有些情况下是可以适当冗余,但目前没有必要.
    2.用MAX(任职时间)方式查询不妥。
    因为最后任职 不等于 现职
    从这一点看,至少要在数据库中增加现职与否信息,
    可以考虑在职务变更表上增加是否现职字段。
      

  6.   

    同意楼上,其实我现在的就是和你说的一样的,的确max查询不能反映当前的职务。增加现职后就可以实现大部分的功能了。