我有以下查询
SELECT *, (SELECT COUNT(*) FROM post, comments WHERE comments.postid = post.id) as totalcom FROM post, category WHERE post.categoryid = category.catid
然后它返回整个表这正是我需要的但是totalcom对所有帖子显示相同的总数,它应该显示对帖子的评论计数,如果结果0那么应该显示空白或null等等。
请帮忙
答案 0 :(得分:0)
您必须将 correlation 用于主查询的post
表:
SELECT *,
(SELECT COUNT(*)
FROM comments
WHERE comments.postid = post.id) as totalcom
FROM post
JOIN category ON post.categoryid = category.catid
注意:始终使用上述查询中的现代显式 JOIN
语法,而不是旧式隐式语法