【发布时间】:2014-04-05 22:41:58
【问题描述】:
我正在尝试查找我未关注但与我有相同兴趣的用户发布的帖子。
我有这个表结构:
帖子 - PostID、UserID、PostDate
用户 - 用户 ID、姓名
追随者 - 用户 ID、追随者 ID
兴趣 - InterestID、InterestName
用户兴趣 - 用户 ID、兴趣 ID
知道如何实现这一目标吗?
到目前为止我已经这样做了:
select * from posts p
inner join users u on u.idUsers = p.idUsers
where p.idusers <> 1
and p.idusers not in (
-- Gets the users whom I am Following
select users.idUsers
from users
inner join followers f on (f.idUsers=users.idUsers)
inner join users u on (u.idUsers=f.FollowerID)
where f.FollowerID = 1
)
【问题讨论】:
-
考虑提供适当的 DDL(和/或 sqlfiddle)以及所需的结果集
-
您当前的查询能走多远?它有什么作用?我认为你是用户 ID 1? (我猜你只需要修改你的子选择:如果这得到了你关注的用户,你只需要让它考虑你与谁分享兴趣)。