one-to-many query selecting all parents and single top child for each parent

后端 未结 5 1802
别那么骄傲
别那么骄傲 2020-12-24 07:31

There are two SQL tables:

Parents:
+--+---------+
|id|   text  |
+--+---------+
| 1|  Blah   |
| 2|  Blah2  |
| 3|  Blah3  |
+--+---------+

Childs
+--+-----         


        
5条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-24 08:06

    This should work:

    SELECT p.id, p.text, c.id, c.parent,c.feature
    FROM parent p
     LEFT OUTER JOIN (SELECT TOP 1 child.id,
                                   child.parent,
                                   MAX(child.feature)
                      FROM child
                      WHERE child.parent = p.id
                      GROUP BY child.id, child.parent
                      ) c ON p.id = c.parent
    

提交回复
热议问题