SQL加入问题

Ste*_*iss 2 sql sql-server

我有一个关于SQL Join的有趣问题.我有2个表,示例如下:

表1:ID(int),值(字符串)表
2:ID(int),ForeignID(int),(Value)

Table2中的字段ForeignID是Table1中ID的外键.对于Table1中的给定条目,我在Table2中有多个条目,如下所示:

Table1:  
ID, Value  
0, "Hello World"  
1, "Bonjour"  

Table2:  
ID, ForeignID, Value  
0, 0, "First entry"  
1, 0, "Second entry"  
2, 1, "Third entry"  
Run Code Online (Sandbox Code Playgroud)

如果我做一个内部连接,如

SELECT Table1.Value, Table2. Value FROM 
Table1 INNER JOIN Table2 ON Table1.ID = Table2.ForeignID
Run Code Online (Sandbox Code Playgroud)

我会的

Hello world, First entry  
Hello world, Second entry  
Bonjour, Third entry  
Run Code Online (Sandbox Code Playgroud)

有没有办法只获得表2中的TOP条目,例如:

Hello world, First entry  
Bonjour, Third entry  
Run Code Online (Sandbox Code Playgroud)

Tam*_*ila 5

这也有效:

SELECT  Table1.value
        , Table2.value
FROM    Table1 
        INNER JOIN Table2 ON Table1.id = Table2.foreignID
        INNER JOIN (   
          SELECT    MIN(ID) AS ID, ForeignID
          FROM      Table2
          GROUP BY  ForeignID
        ) MinID ON Table2.foreignid = MinID.foreignid
                   AND Table2.id = MinID.id
Run Code Online (Sandbox Code Playgroud)