2011-11-02 111 views
-1

我有2個表。我想根據最近的日期列出記錄。例如:從下列表格中,我想使用select語句顯示ID 2和ID 4。 ID 2和4是根據第二個表中的日期最近的。請幫助我查詢。謝謝。SQL Server - 如何根據兩個表中的日期顯示最近的記錄

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 

回答

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 
+0

我改變了它的PID記錄而不是EXID。從你的測試數據來看,這似乎就是你想要的。 –

+0

工程很棒。非常感謝。 – M99

+0

沒問題,我很高興能幫上忙。 –

相關問題