【发布时间】:2015-10-06 13:49:25
【问题描述】:
我目前有一个表格(示例快照):
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
我在 access 中运行了以下查询以获得所需的结果:
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' 部分突出显示了 Join 表达式。我用谷歌搜索了这个问题,但我无法找出问题所在。任何帮助将非常感激!谢谢!
【问题讨论】:
标签: mysql inner-join