从一个表1中选择最近的行并连接以从表2中获取行

时间:2014-02-27 16:01:22

标签: sql oracle11g

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

例如,我需要表1和表2中最近的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

1 个答案:

答案 0 :(得分:0)

我想你在T1和T2都有相同的ID(为什么有两个不同的表?)。 如果是这样的话:

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;

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