Sql 从一个表1中选择最近的行,然后联接以从表2中获取行

Sql 从一个表1中选择最近的行,然后联接以从表2中获取行,sql,oracle11g,Sql,Oracle11g,我需要N个最近的数据,从表1中选择一些列,从表2中选择一些列 例如,我需要表1和表2中最近的两行 表1 id | Fname | LName ------------------------ 1 | F1 | L1 2 | F2 | L2 3 | F3 | L3 4 | F4 | L4 表2 id | City | Date ---+---------------------- 1 | C1 | 02/23/2014 2

我需要N个最近的数据,从表1中选择一些列,从表2中选择一些列

例如,我需要表1和表2中最近的两行

表1

id | Fname  | LName

------------------------

1  | F1     | L1

2  | F2     | L2

3  | F3     | L3

4  | F4     | L4
表2

id | City   | Date

---+----------------------

1  | C1     | 02/23/2014

2  | C2     | 02/01/2014

3  | C3     | 02/20/2014

4  | C4     | 02/19/2014
期望结果

Fname| City  | Date

----------------------------

F1   | C1    | 02/23/2014

F3   | C3    | 02/20/2014

我假设T1和T2中的ID相同,为什么是两个不同的表?。 如果是:


否则,请解释T1和T2之间的区别…

谢谢。我在表T1和T2中还有一些其他列。对于T1中的每一行ID,T2中可能有多行。
SELECT FNAME, CITY, MY_DATE
FROM (SELECT T1.FNAME, T2.CITY, T2.MY_DATE
      FROM T2, T1
      WHERE T2.ID = T1.ID
      ORDER BY T2.MY_DATE DESC)
WHERE ROWNUM <= 2;