0
我有两个表具有以下结构高性能TSQL检索数据
Person(ID, Name, ...)
Action(ID, FirstPersonId, SecondPersonId, Date)
我想检索该数据为每个人:
行动,一个人是从去年第二个人数行动 这是对第一人称
当前查询
Select Result.Id ,
(Select Count(*)
From Action
Where SecondPersonId = Result.Id
AND Date > Result.LastAction)
From
(Select ID ,
(
Select Top 1 Date
From Action
Where Action.FirstPersonId = Person.Id
) as LastAction
From Person) As Result
这个查询性能不好,我需要更好的一个。
请告诉我们一些关于您的输入表和您期望的输出。另外,表格有多少行? – 2014-10-12 06:53:54
你想要“前1个日期”来获取第一个人的最后一个行动日期吗? – 2014-10-12 06:56:48