我有两个表,像这样:
#Articles:
ID | Title
1 "Article title"
2 "2nd article title"
#Comments:
ID | ParentID | Comment
1 1 "This is my comment"
2 1 "This is my other comment"
Run Code Online (Sandbox Code Playgroud)
我一直想知道,获得以下结果的最优雅方法是什么:
ID | Title | NumComments
1 "Article title" 2
2 "2nd article title" 0
Run Code Online (Sandbox Code Playgroud)
这适用于SQL Server.
Joe*_*orn 17
这通常比子查询方法更快,但是一如既往,您必须对系统进行分析以确保:
SELECT a.ID, a.Title, COUNT(c.ID) AS NumComments
FROM Articles a
LEFT JOIN Comments c ON c.ParentID = a.ID
GROUP BY a.ID, a.Title
Run Code Online (Sandbox Code Playgroud)