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

解决方案 »

  1.   

    SELECT *
    FROM  主表 A INNER JOIN 子表 B ON A.CID=B.CID
    WHERE ID IN(SELECT MAX(ID) FROM 子表 GROUP BY  CID)
      

  2.   

    select * from 主表 A left join 子表 B on A.cid = B.cid
    where B.id = (select min(id) from 子表 where cid = A.cid)
      

  3.   

    我用的是mysql,可能不支持select ....... where .... = (select.......)这种查询。
    用别的办法解决了。麻烦一些。
    谢谢楼上的各位。