如题。我主表和子表关联 我想查询出子表中登记时间最大一条 如何写!主表:a (主键bh) 子表:b (子健 a_bh,登记时间:djsj)。 

解决方案 »

  1.   

    select b.a_bh, max(b.djsj)
      from a
      left join b on a.bh = b.a_bh
     group by b.a_bh
      

  2.   

    select b.a_bh, max(b.djsj) 
      from a 
      left join b on a.bh = b.a_bh 
    group by b.a_bh
      

  3.   

     select * from ta a left join 
    (select a_bh,max(djsj) as djsj from tb group by a_bh ) b
    on a.bh=b.a_bh
      

  4.   

    select * from ta a left join tb b on a.bh=b.a_bh
    where not exists
    (select 1 from tb c where b.a_bh=c.a_bh and b.djsj<c.djsj)
      

  5.   

    select *
    from a inner join b t on a.b=t.a_bh
    where not exists (select 1
    from b where a_bh=a.bh and djsj>t.djsj)