SQL-无法显示包含0的计数值
SQL-Unable to display count value that contain 0
有 2 Table 个讨论和评论,
讨论 table 有 D1 和 D2
评论 table 有 (C1,D2),(C2, D2)
SELECT Discussion.DiscussionID, COUNT(Comment.CommentID) AS Expr1
FROM Comment INNER JOIN
Discussion ON Comment.DiscussionID = Discussion.DiscussionID INNER JOIN
Category ON Discussion.CategoryID = Category.CategoryID
GROUP BY Discussion.DiscussionID
我想要这样的输出...
Dicussion ID|| Comment COunt
D1 0
D2 2
但是结果是这样的
Dicussion ID|| Comment COunt
D2 2
将 Inner Join
转换为 Right Join
因此将从 Discussion
table.
中获取所有行
SELECT Discussion.DiscussionID,
Count(Comment.CommentID) AS Expr1
FROM Comment
RIGHT JOIN Discussion
ON Comment.DiscussionID = Discussion.DiscussionID
INNER JOIN Category
ON Discussion.CategoryID = Category.CategoryID
GROUP BY Discussion.DiscussionID
或使用左连接
SELECT Discussion.DiscussionID,
Count(Comment.CommentID) AS Expr1
FROM Discussion
INNER JOIN Category
ON Discussion.CategoryID = Category.CategoryID
LEFT JOIN Comment
ON Comment.DiscussionID = Discussion.DiscussionID
GROUP BY Discussion.DiscussionID
有 2 Table 个讨论和评论, 讨论 table 有 D1 和 D2 评论 table 有 (C1,D2),(C2, D2)
SELECT Discussion.DiscussionID, COUNT(Comment.CommentID) AS Expr1
FROM Comment INNER JOIN
Discussion ON Comment.DiscussionID = Discussion.DiscussionID INNER JOIN
Category ON Discussion.CategoryID = Category.CategoryID
GROUP BY Discussion.DiscussionID
我想要这样的输出...
Dicussion ID|| Comment COunt
D1 0
D2 2
但是结果是这样的
Dicussion ID|| Comment COunt
D2 2
将 Inner Join
转换为 Right Join
因此将从 Discussion
table.
SELECT Discussion.DiscussionID,
Count(Comment.CommentID) AS Expr1
FROM Comment
RIGHT JOIN Discussion
ON Comment.DiscussionID = Discussion.DiscussionID
INNER JOIN Category
ON Discussion.CategoryID = Category.CategoryID
GROUP BY Discussion.DiscussionID
或使用左连接
SELECT Discussion.DiscussionID,
Count(Comment.CommentID) AS Expr1
FROM Discussion
INNER JOIN Category
ON Discussion.CategoryID = Category.CategoryID
LEFT JOIN Comment
ON Comment.DiscussionID = Discussion.DiscussionID
GROUP BY Discussion.DiscussionID