SQL从主选择 - 详细信息表

Bat*_*uta 3 sql

我有两个表,名为t_master和t_detail.

t_detail表中的数据对应于主表上的记录.

t_master的数据

ID Brand
1  Toyota
2  Honda
Run Code Online (Sandbox Code Playgroud)

t_detail的数据

DetID ParentID Model
1     1        Corolla 2009
2     1        Corolla 2010
3     1        Corolla 2011
4     2        Civic 2004
5     2        Civic 2006
Run Code Online (Sandbox Code Playgroud)

现在,我想创建一个查询,该查询应该选择主表中的所有行,同时选择具有最新ID(最大)的详细信息,即

ID Brand  DetID ParentID Model
1  Toyota 3     1        Corolla 2011
2  Honda  5     2        Civic 2006
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助.谢谢.

OMG*_*ies 7

使用:

SELECT m.id, 
       m.brand,
       x.detid,
       x.parentid,
       x.model
  FROM T_MASTER m
  JOIN T_DETAIL x ON x.parentid = m.id
  JOIN (SELECT d.parentid,
               MAX(d.detid) AS max_detid
          FROM T_DETAIL d
      GROUP BY d.parentid) y ON y.max_detid = x.detid
                            AND y.parentid = x.parentid
Run Code Online (Sandbox Code Playgroud)