select g.gid,g.gtitle,g.uid,g_a.buyid,g.gprice from ( select g.gid,g.gtitle,g.uid,max(gprice) as gprice from goods_TB group by g.gid,g.gtitle,g.uid) g left join goods_aution g_a on g.gid=g_a.gid 

解决方案 »

  1.   

    select top 1 u.uname,ga.gprice
    from (goods_TB gt left outer join goods_aution ga on gt.gid = ga.gid)
         left outer join User_tb u on gt.uid = t.uid 
    order by ga.gprice desc
      

  2.   

    select g.gid,g.gtitle,g.uid,g_a.buyid,a.uname,gprice=(case when buyid is null then g.gprice else Max(g_a.gprice) end) from goods_TB g left join goods_aution g_a on g.gid=g_a.gid left join User_TB a on a.uid=g.uid group by g.gid,g.gtitle,g.uid,a.uname
      

  3.   

    那个我取出的是买家的名字,楼上那个left join User_TB a on a.uid=g.uid 是取出的卖家的名字吧。改成a.uid=g_a.buyerid就又不行了。