Sql 从一个表1中选择最近的行,然后联接以从表2中获取行
我需要N个最近的数据,从表1中选择一些列,从表2中选择一些列 例如,我需要表1和表2中最近的两行 表1Sql 从一个表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
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;