我有两个表,名为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)
感谢您的帮助.谢谢.
使用:
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)