select a.*, b.qd_id, from taobao_trade a 
      left join kehu b on a.shop_id = b.Id;
select b.khmc from kehu b where b.Id = b.qd_id;说明下:我先根据第一句得到b.qd_id 然后在b表中根据Id=qd_id查到khmc的值,问题是这两句SQL怎样拼成一句?

解决方案 »

  1.   

    select a.*,b.qd_id,b.khmc from taobao_trade a left join kehu b  on a.shop_id=b.Id where b.Id=b.qd_id
      

  2.   

    select a.*, b.khmc from taobao_trade a , kehu b where a.shop_id = b.Id and b.Id = b.qd_id;
      

  3.   


    select b.khmc from kehu b where b.Id in (select  b.qd_id, from taobao_trade a 
          left join kehu b on a.shop_id = b.Id); 
      

  4.   

    第二句写错了,我其实是令b.Id=第一次取出来的b.qd_id的值,然后取到b.khmc的值,而不是Id=qd_id这个判断条件
      

  5.   

    根据A表中的qd_id查找B表中的khmc(条件是:A.qd_id=B.qd_id) 
    select b.khmc from b where b.qd_id=(select a.qd_id from a )
      

  6.   

    try:
    select b.khmc,T.* from kehu b inner join 
    (select a.*, b.qd_id, from taobao_trade a 
     left join kehu b on a.shop_id = b.Id) T on T.qd_id=b.Id where 1