我现在有一个表作为(样品快照):错误在内部连接功能
Employee ID Old Value New Value Update Date
1 Analyst non-employee 10/1/2012
1 non-employee Senior Analyst 10/1/2012
2 Analyst non-employee 9/1/2012
2 non-employee Assistant Mgr. 9/1/2012
2 Assistant Mgr. non-employee 10/1/2015
2 non-employee Manager 10/1/2015
3 Analyst non-employee 10/1/2015
3 non-employee Manager 10/1/2015
4 Analyst non-employee 9/1/2012
4 non-employee Senior Analyst 9/1/2012
4 Senior Analyst non-employee 10/1/2015
4 non-employee Assistant Mgr. 10/1/2015
4 Assistant Mgr. non-employee 10/6/2015
4 non-employee Manager 10/6/2015
从这个表,我需要挑选出从分析过渡到经理直接,即那些员工ID。而无需成为助理经理或高级分析师。
所需的结果:
Employee ID Old Value New Value Update Date
3 Analyst Manager 10/1/2015
我跑下面的查询中获取得到期望的结果:
select t.id, t.oldvalue, tnext.newvalue, t.updatedate
from table t inner join
table tnext
on t.employeeid = tnext.employeeid and
t.updatedate = tnext.updatedate and
t.newvalue = 'non-employee' and
tnext.oldvalue = 'non-employee'
where t.oldvalue = 'Analyst' and tnext.newvalue = 'Manager';
我得到的错误是加入表达的t.newvalue='non-employee'
部分不支持高亮查询。我GOOGLE了这个问题,但我无法找出问题。任何帮助将非常感激!谢谢!
表中错字的道歉。它应该是非员工。任何时候发生变化,状态首先变为非员工,然后变为新状态。 –
我只是对sqlite数据库中的相同关系运行相同的查询,并得到了完美的结果。你使用的是什么DBMS? – audin
我正在使用MS Access。不幸的是,这是我目前唯一拥有的软件。 –