SQL Server - 如何根据两个表中的日期显示最新记录

时间:2011-11-02 23:54:31

标签: sql sql-server sql-server-2008 tsql

我有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

1 个答案:

答案 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