2张表
 a表                                                       b表
 
id   party_id    sex                                 id        party_id     name     pm
1      1           0                                 1             12        中间     2
2      12          0                                 2             12        最小     3
3       15         1                                 3             12        最大     1
                                                      4            15         最小    3
                                                      5             15        最大    1我想求  查a表 但我根据party_id  需要获取到 b表中 pm最大的 name    sql语句怎么写 ,强人帮忙!!
也就是   一条sql 语句中 我要展示 a表的party_id ,b表的最大pm   对应 name。

解决方案 »

  1.   


    select a.*,b.pm
    from a join b on a.party_id = b.party_id
    where b.name = '最大'
      

  2.   


    select t.*,e.pm
    from a as t join b as e on t.party_id = e.party_id
    where not exists (select 1 from b where party_id = e.party_id and px > e.pm)
      

  3.   

    select * from b t
     where pm=(select max(pm) from b where party_id=t.party_id)
      

  4.   

    select
       a.party_id,t.name
    from
       a join b t
    on
       a.party_id = t.party_id
    and
       t.pm=(select max(pm) from b where party_id=t.party_id)
      

  5.   

    select *,b.pm,b.name from a jion b on a.party_id=b.party_id where pm=(select max(pm) from b) group by b.name
      

  6.   

    能不能得到 

    select
       a.party_id,t.name
    from
       a join b t
    on
       a.party_id = t.party_id
    and
       t.pm=(select max(pm) from b where party_id=t.party_id)??
        这个地方 t.id =最小值的id
      

  7.   

    我要得到是一条记录,而不是多条记录,如果、b表中 party_id =12  他的多条记录并且可以重复,那么上边强人们所给的答案就是多条,而不是根据party_id 只得到一条了