Select
Query_2.[Date Assigned], Query_2.ID,
Query_2.Aging, Query_2.[Date/Time Opened]
From
Query_2
Where
(((Query_2.[Date Assigned]) In (Select [Date Assigned]
From Query_2 As Tmp
Group By [Date Assigned], ID
Having Count(*) > 1
And ID = Query_2.ID))
And ((Query_2.[Date/Time Opened]) = (Select Max([Date/Time Opened])
From Query_2 As Tmp
Group By [Date Assigned], ID
Having Count(*) > 1
And ID = Query_2.ID))
)
有人可以帮助我吗?我无法弄清楚错误是什么,因为当我第一次这样做时,查询最初成功运行。
提前致谢!
增加注:
基本上,我尝试删除副本,副本应该是最新的,所有我想得到的唯一的第一个日期。我希望这很清楚。我稍后会回顾下面的答案,看看它是否有效。再次感谢您的帮助!
答案 0 :(得分:0)
我认为您可以使用row_number()
更轻松地执行您想要的操作:
select q2.*
from (select q2.*,
row_number() over (partition by id order by [Date Assigned] desc, [Date/Time Opened] desc) as seqnum
from Query_2 q2
) q2
where seqnum = 1;
这将获得每个id
最近分配日期的最新开放时间记录。这似乎是您的查询尝试做的事情。