用户表 userid username
好友表 id owner friend,其中owner/friend对应用户表的userid
查询:输入一个userid 取出好友表里包含该用户的记录,可能是owner也可能是friend
结果显示:id、owner、对应username、friend、对应username

解决方案 »

  1.   

    1 john
    2 tom
    3 david
    4 joan1 1 2
    2 1 3
    3 1 4
    4 2 1
    5 2 3
    6 3 2
    7 3 4
    8 4 3输入2
    1 1 john 2 tom
    4 2 tom  1 john
    5 2 tom  3 david
      

  2.   

    抱歉,应该有的
    输入2 
    1 1 john 2 tom 
    4 2 tom  1 john 
    5 2 tom  3 david 
    6 3 david2 tom
      

  3.   

    select a.id,b.username,c.username from 好友表 a left join 用户表 b on 
    a.owner=b.userid
    left join 用户表 c on c.friend=b.userid
    where a.owner=2 or a.friend=2
      

  4.   

    更正一下:
    select a.id,b.username,c.username from (好友表 a left join 用户表 b on
    a.owner=b.userid)
    left join 用户表 c on a.friend=c.userid
    where a.owner=2 or a.friend=2
    测试通过