SELECT  NewSWeiBo.ID,UserWeiBo.UID, NewSWeiBo.UserName, UserWeiBo.UserPic, NewSWeiBo.Content, NewSWeiBo.IsRe, NewSWeiBo.ShenHe,NewSWeiBo.CreateTime FROM NewSWeiBo ,GuanZhu,UserWeiBo Where NewSWeiBo.UserID = GuanZhu.UserID and GuanZhu.GuanZhuID = UserWeiBo.ID and NewSWeiBo.UserID=4查询之后结果却出现重复的记录.....

解决方案 »

  1.   

    SELECT distinct NewSWeiBo.ID,UserWeiBo.UID, NewSWeiBo.UserName, UserWeiBo.UserPic, NewSWeiBo.Content, NewSWeiBo.IsRe, NewSWeiBo.ShenHe,NewSWeiBo.CreateTime FROM NewSWeiBo ,GuanZhu,UserWeiBo Where NewSWeiBo.UserID = GuanZhu.UserID and GuanZhu.GuanZhuID = UserWeiBo.ID and NewSWeiBo.UserID=4
      

  2.   

    SELECT distinct NewSWeiBo.ID,UserWeiBo.UID, NewSWeiBo.UserName, UserWeiBo.UserPic, NewSWeiBo.Content, NewSWeiBo.IsRe, NewSWeiBo.ShenHe,NewSWeiBo.CreateTime FROM NewSWeiBo ,GuanZhu,UserWeiBo Where NewSWeiBo.UserID = GuanZhu.UserID and GuanZhu.GuanZhuID = UserWeiBo.ID and NewSWeiBo.UserID=4--??
      

  3.   

    LEFT JOIN 左关联试一下
    SELECT NewSWeiBo.ID,UserWeiBo.UID, NewSWeiBo.UserName, UserWeiBo.UserPic, NewSWeiBo.Content,
    NewSWeiBo.IsRe, NewSWeiBo.ShenHe,NewSWeiBo.CreateTime 
    FROM NewSWeiBo 
    LEFT JOIN GuanZhu ON NewSWeiBo.UserID = GuanZhu.UserID
    LEFT JOIN UserWeiBo ON GuanZhu.GuanZhuID = UserWeiBo.ID 
    Where  NewSWeiBo.UserID=4
      

  4.   

    还是不行,估计是我没把表结构叙述清楚:
    表1:NewSWeiBo是微博帖子表,当中是用UserID来做发布者的关联字段;
    表2:UserWeiBo是微博用户信息表,当中是通过UID来和表1中的UserID进行关联;
    表3:GuanZhu是用于记录UserWeiBo表中用户所关注的对象表(所关注的用户,多的关系)也就是说,我要查询某用户(GuanZhu.UserID=4)所关注的那些人(UserWeiBo.UID = NewSWeiBo.UserID )发的帖子(UserWeiBo.ID = GuanZhu.GuanZhuID)。SELECT NewSWeiBo.ID, NewSWeiBo.Title, 
          NewSWeiBo.Content, NewSWeiBo.UserName, 
          NewSWeiBo.UserID, UserWeiBo.UserPic
    FROM GuanZhu LEFT JOIN 
          UserWeiBo ON GuanZhu.GuanZhuID = UserWeiBo.ID LEFT JOIN 
          NewSWeiBo ON UserWeiBo.UID = NewSWeiBo.UserID
    WHERE (GuanZhu.UserID = '4')上面这句查询结果是出来两条,但数据都是空的,为何?
      

  5.   


    因为 用户4关注 的人都没有 发帖,所以数据为空,可以看看 left join 的用法
      

  6.   

    感谢各位,给我提供不少帮助。虽然没能解决问题(自己搞定咯)。但还是非常感谢各位的帮助!!非常感谢额!下面是我的解决办法,也给大家参考参考:SELECT a.ID, a.TID, a.UserID, b.UserName, a.Title, a.Content, a.CreateTime,b.UserPic FROM NewSWeiBo a, UserWeiBo b where a.UserID=b.UID and a.UserID in(SELECT UserWeiBo_1.UID FROM GuanZhu INNER JOIN UserWeiBo ON GuanZhu.GuanZhuID = UserWeiBo.ID INNER JOIN UserWeiBo UserWeiBo_1 ON GuanZhu.GuanZhuID = UserWeiBo_1.ID WHERE (GuanZhu.UserID = "+UserID+")) and a.TID=0 and a.ShenHe=1 and a.IsRe=0 order by a.CreateTime desc, a.ID desc