我正在社交网站上工作。 我有三个表,一个是用户表,用于存储用户详细信息,另一个表是跟随表,用于跟随列表。 在此表中,我存储了user_id和follower_id。 第三个表是user_friends,我正在存储user_id和friend_userid。 我想从朋友列表中搜索用户并按照列表进行操作。为此,我写了这样的查询: -
select f.follower_id,uf.friend_userid,u.user_id,u.first_name,u.last_name from tbl_user u
LEFT JOIN tbl_userfriends uf ON uf.friend_userid = u.user_id
LEFT JOIN tbl_follow f ON f.follower_id = u.user_id
where uf.friend_userid != '11'
AND u.first_name LIKE '%a%'
此查询只返回那些不返回关注用户的朋友。
任何帮助将不胜感激。在此先感谢。
答案 0 :(得分:0)
您加入tbl_follow
跟随者ID等于用户ID。我怀疑这可能不对。
如果您还没有用户名,则需要在关注者表中加入用户ID密钥才能加入,然后您可以将联接更改为;
LEFT JOIN tbl_follow f ON f.userid = u.user_id
答案 1 :(得分:0)
我通过使用以下查询完成此操作: -
从tbl_user中选择u.user_id,u.first_name,u.last_name u LEFT JOIN tbl_userfriends uf ON uf.friend_userid = u.user_id LEFT JOIN tbl_follow f1 ON f1.follower_id = u.user_id LEFT JOIN tbl_follow f2 ON f2.user_id = u.user_id其中(uf.user_id = '11'或f1.user_id = '11'或f2.follower_id = '11')AND(u.first_name LIKE'%s%'或u.last_name LIKE'%s% ')和u.status ='0'组由u.first_name 此查询返回给我的所有用户,他们是我的粉丝,朋友以及我关注的用户。