目前我的查询返回三条记录。原因是CRT_STAT表找到了3个匹配的记录。我想获得最近日期的记录。我的DISPOSITION_DATE
表有一个名为CROSS APPLY (
SELECT *
FROM CCH_PUBLIC.dbo.CRT_STAT as crtStat
WHERE crtStat.TRS_IDN = o.TRS_IDN
AND crtSTat.DISPOSITION_DATE ='DATE IS MOST RECENT OF THE THREE RECORDS FOUND'
) crtStat
的列。
我需要在查询的这一部分添加一个日期检查,它选择它找到的记录组的最新日期(在本例中为三个)。
{{1}}
这样做最有效的方法是什么?
答案 0 :(得分:2)
只需使用排名靠前1:
CROSS APPLY (
SELECT top 1 *
FROM CCH_PUBLIC.dbo.CRT_STAT as crtStat
WHERE crtStat.TRS_IDN = o.TRS_IDN
order by crtSTat.DISPOSITION_DATE desc
) crtStat
这将返回最新记录。如果您已经从CRT_STAT获取数据,则还可以使用DISPOSITION_DATE的行号,而无需使用交叉申请。