你可以将当前用户的帖子和他们朋友的帖子合并成一个包含多个用户的流 left outer joins :
select
posts.*,
users.*,
photos.photo_source
from posts
join users
on (users.user_id = posts.user_id)
left join friends
on (friends.user1 = ? and friends.user2 = posts.user_id)
left join photos
on (photos.post_id = posts.id)
where
posts.user_id = ? or not isnull(friends.user2)
SELECT p.id, p.post_title, p.post_category, p.post_content, u.username
FROM post_table as p, user_table as u, friends_table as f
WHERE u.user_id = p.user_id and (f.user1 = p.user_id or f.user2 = p.user_id)
2条答案
按热度按时间juzqafwq1#
你可以将当前用户的帖子和他们朋友的帖子合并成一个包含多个用户的流
left outer joins
:(变化?到用户的id。)
你会找回那些
user_id
匹配当前用户或其朋友之一(friends.user2
). 这个photos
表也将选择一个left outer join
.rseugnpd2#
这只是一种从相关表中获取数据的简单方法。