【发布时间】:2014-03-22 00:13:25
【问题描述】:
我正在尝试根据员工状态或最近的终止日期获取员工列表。如果员工处于活动状态,则终止日期将为 NULL。还有一些员工在我们组织内的多家公司工作过,我只想要最近公司的记录,无论是活跃的还是终止的。一个员工在不同公司也可能有不同的员工编号,因此必须根据 SSN (Fica) 编号进行选择。
这是一个原始数据集:
company employee Fica First_name emp_status Term_date
5 7026 Jason T1 2013-09-16 00:00:00.000
500 7026 Jason T1 2010-11-30 00:00:00.000
7 7026 Jason T1 2009-07-31 00:00:00.000
2 90908 Jason A1 NULL
505 293866 William T1 2008-05-23 00:00:00.000
7 7243 Ashley T1 2010-07-11 00:00:00.000
2 90478 Michael T1 2013-01-11 00:00:00.000
500 90478 Michael T1 2011-09-26 00:00:00.000
500 311002 Andreas A1 NULL
3 365463 Matthew A1 NULL
500 248766 Chris T1 2007-04-23 00:00:00.000
500 90692 Kaitlyn T1 2012-03-13 00:00:00.000
2 90692 Kaitlyn A5 NULL
500 90236 Jeff T1 2011-09-26 00:00:00.000
2 90236 Jeff A1 NULL
2 90433 Nathan T1 2012-03-26 00:00:00.000
500 90433 Nathan T1 2011-09-26 00:00:00.000
这是我想要得到的结果:
company employee Fica First_name emp_status Term_date
2 90908 Jason A1 NULL
505 293866 William T1 2008-05-23 00:00:00.000
7 7243 Ashley T1 2010-07-11 00:00:00.000
2 90478 Michael T1 2013-01-11 00:00:00.000
500 311002 Andreas A1 NULL
3 365463 Matthew A1 NULL
500 248766 Chris T1 2007-04-23 00:00:00.000
2 90692 Kaitlyn A5 NULL
2 90236 Jeff A1 NULL
2 90433 Nathan T1 2012-03-26 00:00:00.000
感谢您提供的任何帮助。我需要在将通过 ODBC 连接到 Oracle 服务器的 SQL2005 服务器上运行它。
【问题讨论】:
-
在 dba.stackexchange.com dba.stackexchange.com/questions/1002/how-to-get-the-max-row 上查看“如何获得最大行数”的答案
标签: sql sql-server