tb_log(日志表)
userId,logtb_friend (朋友表)
userid,friendidtb_attention (关注表)
userid,touserid根据一个用户ID得到朋友和关注人的日志 
怎么查询合适?

解决方案 »

  1.   

    select log from tb_log where userId in (select friendid from tb_friend where userid=&id union all select touserid from tb_attention where userid=&id) 
      

  2.   

    tb_friend与tb_friend自连一次,然后再去连接tb_log和tb_attention
      

  3.   

    这个不错 啊,把in改成exists就更好了,再给列都起别名以减少解析时间。
      

  4.   

    SELECT  l.log
      FROM
        (
    SELECT   f.friendid id
         FROM   tb_friend f
       WHERE   f.userid = tmpuserid/*tmpuserid是你要为其查找朋友及关注人的userid*/
            UNION 
    SELECT   a.touserid id
         FROM   tb_attention a
       WHERE   a.userid = tmpuserid/*tmpuserid是你要为其查找朋友及关注人的userid*/
            )tb_id,
            tb_log l
     WHERE  tb_id.id = l.userid