表:A
字段:id ,name ,friend_id,hit_id,like_id
关联:friend_id为A表id,hit_id为A表id要求查询结果如下:
id ,name ,friend_id关联的name,hit_id关联的name,hit_id关联的name,like_id关联的name本人sql太差,希望高手给个高效的查询语句,因为自己是用的N个子查询弄的,觉得实在太搓了

解决方案 »

  1.   

    select a1.* ,a2.name,a3.name,a4.name
    from a a1 left join a a2 on a1.friend_id=a2.id
    left join a a3 on a1.hit_id=a3.id
    left join a a4 on a1.like_id=a4.id
      

  2.   

    表:A
    字段:id ,name ,friend_id,hit_id,like_id
    关联:friend_id为A表id,hit_id为A表id要求查询结果如下:
    id ,name ,friend_id关联的name,hit_id关联的name,hit_id关联的name,like_id关联的name
    select id,name,B.name,hit_id,C.name,D.name
    from A A1,A A2,A A3,A A4
    where A.id=B.frient_id and A.id=C.hit_id and A.id=D.like_id
      

  3.   

    select A1.id,A1.name,A2.name,A3.name,A4.name
    from A A1,A A2,A A3,A A4
    where A1.id=A2.frient_id and A1.id=A3.hit_id and A1.id=A4.like_id
      

  4.   

    select *,
    (select name from A where id=t.friend_id),
    (select name from A where id=t.hit_id),
    (select name from A where id=t.like_id)
    from A t