Oracle sql Inner加入右表中的第一条记录

pho*_*512 2 sql oracle join inner-join

我的问题是:

我有两个这样的表:

username | portname | symbol | shares
---------+----------+--------+-------
phil     | test     | APL    | 214
---------+----------+--------+--------
Run Code Online (Sandbox Code Playgroud)

它有更多的记录,但这只是一个例子.然后我有另一个这样的表,每个符号有多个记录

symbol | high | low | timestamp
-------+------+-----+-----------
APL    | 200  | 20  | *timestamp object
APL    | 400  | 34  | *timestamp object
Run Code Online (Sandbox Code Playgroud)

我想要一个表返回,我加入这两个,但只有第二个表的第一行被连接,所以返回这样的东西:

symbol | high | low | timestamp
-------+------+-----+----------
APL    | 400  | 34  | *timestamp object
Run Code Online (Sandbox Code Playgroud)

因此,只有右表中的一条记录匹配.我已经尝试了很多东西,但没有得到任何与分组或不同的工作.

谢谢!

PM *_*7-1 9

SELECT t1.symbol, t3.high, t3.low, t3.timestamp 
FROM Table1 t1
JOIN (
      SELECT inn.* 
      FROM (SELECT t2.*, (ROW_NUMBER() OVER(PARTITION BY symbol ORDER BY timestamp DESC)) As Rank 
            FROM Table2 t2) inn 
      WHERE inn.Rank=1
     ) t3
     ON t1.symbol = t3.symbol;  
Run Code Online (Sandbox Code Playgroud)

请参阅SQL小提琴