Mysql SQL查询加入每个帖子的关注者数量和每个帖子的所有照片?
简单的问题。更复杂的答案。如何将我的帖子表与我的帖子\u图片表与我的用户\u收藏夹表连接起来,以获取所有帖子、每个帖子的关注者数量,以及最终用户是否关注该特定帖子 这是我的桌子: 职位: postId INT 全名VARCHAR 等等 用户: 用户ID INT 等等 张贴图片: 后癫痫综合征 图像VARCHAR idx INT 邮政id INT 用户的最爱: userFavoritesId INT 用户id INT 邮政id INT 这是我到目前为止所拥有的,它返回了除了每篇文章的关注者总数和与每篇文章相关的图片之外的所有内容:Mysql SQL查询加入每个帖子的关注者数量和每个帖子的所有照片?,mysql,sql,database,postgresql,relational-database,Mysql,Sql,Database,Postgresql,Relational Database,简单的问题。更复杂的答案。如何将我的帖子表与我的帖子\u图片表与我的用户\u收藏夹表连接起来,以获取所有帖子、每个帖子的关注者数量,以及最终用户是否关注该特定帖子 这是我的桌子: 职位: postId INT 全名VARCHAR 等等 用户: 用户ID INT 等等 张贴图片: 后癫痫综合征 图像VARCHAR idx INT 邮政id INT 用户的最爱: userFavoritesId INT 用户id INT 邮政id INT 这是我到目前为止所拥有的,它返回了除了每篇文章的关注者总数和与
SELECT p.*
, uf.`userFavoritesId`
FROM Posts as p
LEFT
JOIN Users_Favorites as uf
ON p.`postId` = uf.`post_id`
ORDER
BY p.created DESC;
试着只运行下面的子查询,看看连接是否如您所期望的那样返回。如果看起来还可以,试着运行整个程序 这将返回posts中的posted,post_图片中的postpictureid,并计算每个post_id的userfavoritesid不为null的次数 提供额外的信息或一些样本数据将使提供更好的答案变得更加容易
select postid
, postpictureid
, sum(case when userfavoritesid is not null then 1 else 0 end) as numberoffollowers
from
(
select p.postid
, p.fullname
, pp.postpictureid
, pp.image
, pp.idx
, uf.userfavoritesid
, uf.user_id
, uf.post_id
from posts as p
left join post_pictures as pp
on a.postid = pp.post_id
left join users_favorites as uf
on pp.post_id = uf.post_id
) as x
;
请看Happy详细说明选民是否对这个答案有异议。我应用了用户提供的表名和类型,根据他们的问题构造了一个查询。