select a.*,b.* from 主表 left join
(select * from 子表 aa where not exists(select 1 from 子表 bb where aa.cid=bb.cid and aa.id<bb.id)) b on a.cid=b.cid
(select * from 子表 aa where not exists(select 1 from 子表 bb where aa.cid=bb.cid and aa.id<bb.id)) b on a.cid=b.cid
FROM 主表 A INNER JOIN 子表 B ON A.CID=B.CID
WHERE ID IN(SELECT MAX(ID) FROM 子表 GROUP BY CID)
where B.id = (select min(id) from 子表 where cid = A.cid)
用别的办法解决了。麻烦一些。
谢谢楼上的各位。