2016-03-11 170 views
0

道歉,如果這是愚蠢的問題,匯率...查詢按日期顯示

我有一個適用於多種貨幣利率在不同的日期,具體如下表:

+-----------------------------+ 
| FOREKEY FOREDATE FORERATE | 
+-----------------------------+ 
| 1  01/01/16 1.5  | 
| 2  01/01/16 1.9  | 
| 3  01/01/16 9.2  | 
| 4  01/01/16 1.0  | 
| 2  01/02/16 1.7  | 
| 3  01/03/16 9.0  | 
| 4  01/04/16 1.1  | 
+-----------------------------+ 

我想創建一個查詢,在任何給定日期給出當時的匯率。

我已經嘗試了下面的查詢,但是這並不顯示FOREKEY 1率例如01/03/16。

SELECT 
    F.FOREDATE, 
    F.FOREKEY, 
    F.FORERATE 
FROM 
    FORERATE F 
     INNER JOIN 
     (SELECT 
      MAX(FOREDATE) FOREDATE 
     FROM 
      FORERATE 
     GROUP BY 
      FOREDATE) FSUB 
     ON (F.FOREDATE = FSUB.FOREDATE) OR (F.FOREDATE > FSUB.FOREDATE) 

任何幫助感激地收到!

+0

謝謝悅,這並沒有這樣做正是我想要的,但確實幫我想想不同的方法。 – Andrew

回答

3

你可以在使用SELECT MAX() where子句象下面這樣:

SELECT 
    F.FOREDATE, 
    F.FOREKEY, 
    F.FORERATE 
FROM FORERATE F 
WHERE F.FOREDATE = (SELECT MAX(FOREDATE) 
        FROM FORERATE FMD 
        WHERE F.FOREKEY=FMD.FOREKEY)