这似乎应该很容易,但我对此束手无策。
我的表与此类似(有更多的列和多个 ID):
EEID (unique) - FLSAStatus - EffDate
============= ============ =============
4ABC1 - A - 10/01/2010
4ABC1 - A - 11/01/2010
4ABC1 - E - 11/30/2011
4ABC1 - O - 01/01/2012
4ABC1 - O - 01/31/2012
4ABC1 - A - 11/03/2012
4ABC1 - A - 11/13/2012
我想返回的唯一记录是对 FLSA 状态的最新更改——在本例中是 2012 年 11 月 3 日的记录。
我的问题是,由于我的分组,我的查询忽略了“A”状态的第二个实例。我尝试将表格作为 A 和 B 拉入并尝试比较日期和状态,但我不断收到语法错误。
例如:
SELECT * from
(
select a.eeid, a.flsastatus, a.effdate
from
history a with (nolock),
history b with (nolock)
where
a.eeid = b.eeid
and a.eeid ='4FM7IK0000K0'
)
Where
a.effdate >= b.beffdate
and a.flsastatus <> b.flsastatus
显然我是一个初学者 - 帮助!请!?