大家好,这里有一个问题:有4张表是相互关联的,需要写一个请求来显示游戏的评论(按id),以及每条评论有多少个赞以及用户是否喜欢该评论本身。游戏表通过 game_id 字段与评论表关联。数据库-postgresql15。这是我的开发,其中只计算喜欢,但不检查用户本人是否喜欢该评论。如果有什么需要澄清的,我会澄清。
SELECT "review".id, "review".user_id, game_id, grade, "comment", "review".created_at, "user".username,
count(distinct "review_like".user_id)
FROM public.review
left outer join "user" on "user".id = "review".user_id
left outer join "review_like" ON "review_like".review_id = "review".id
where "review".game_id = '6ad2dd8e-b42a-46de-b8d5-323cd221d39f' group by "review".id, "user"."username"

我们来统计一下作者评论的点赞数:
sum(case when review_like.user_id=review.user_id then 1 else 0 end)简化示例: http: //sqlfiddle.com/#!15/d2854 /5