Reputation: 247
There is 2 Table Discussion and Comment, Discussion tablehas D1 and D2 Comment table has (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
I want a output like this ...
Dicussion ID|| Comment COunt
D1 0
D2 2
but the the result like this
Dicussion ID|| Comment COunt
D2 2
Upvotes: 1
Views: 33
Reputation: 1904
Or use a Left Join
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
Upvotes: 1
Reputation: 93694
convert the Inner Join
to Right Join
so will get all the rows from 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
Upvotes: 4