我有2张桌子。我想根据最近的日期列出记录。例如:从下表中,我想使用select语句显示ID 2和ID 4。 ID 2和4是最新的,基于第二个表的日期。请帮我查询一下。谢谢。
ID EXID PID REASON
1 1 1 XYZ
2 2 1 ABX
3 3 2 NNN
4 4 2 AAA
EXID EXDATE
1 1/1/2011
2 4/1/2011
3 3/1/2011
4 5/1/2011
答案 0 :(得分:3)
在这里,你应该这样做。如果您有任何问题,请告诉我。
SELECT
TBL.ID,
TBL.EXDATE
FROM
(
SELECT
T1.ID,
T2.EXDATE,
ROW_NUMBER() OVER(PARTITION BY T1.PID ORDER BY T2.EXDATE DESC) AS 'RN'
FROM
Table1 T1
INNER JOIN Table2 T2
ON T1.EXID = T2.EXID
) TBL
WHERE
TBL.RN = 1