SELECT
*, (SELECT SUM(rating) FROM votes WHERE votes.postId = posts.id) AS rating
FROM posts
WHERE rating > 10
我的表中有多个条目,其中投票评级与相应帖子ID的总和大于10,但此查询未返回任何结果。为什么呢?
以下是我的数据库结构的相关部分:
TABLE posts
- id
TABLE votes
- postId
- rating
非常感谢任何帮助。
答案 0 :(得分:0)
您需要命名子查询列,如此
SELECT * FROM (选择总和(评级)为rating_sum,* FROM posts)AS评级 在posts.id = rating.id上的INNER JOIN帖子 在哪里rating.rating_sum> 10
答案 1 :(得分:0)
试试这个。
SELECT posts.*, (select SUM(rating) as totalRating
from votes
where votes.postid = posts.id) as totalRating
FROM posts
WHERE totalRating > 10