比方说,我有两个表:SQL:如何根据不同表中的记录从一个表中选择多个记录的计数?
表A
邮件ID |消息
1 |你好
2 |卓悦
等。
表B
CommentID | MessageID |评论
1 | 2 |这是对Bonjour说的人的评论
2 | 2 |这是对Bonjour
我试图做的是运行一个查询,从表A中的所有记录(“消息”)以及来自表B的每条消息的所有注释的计数一起运行。
其结果将是:
你好 - 0条评论
卓悦 - 2条评论
我知道这可能是使用了COUNT(*)联接的组合,但我不能似乎没有找到正确的语法。
任何想法?
谢谢大家的帮助。这工作:'SELECT *,计数(commentID)作为评论计数 从tableA LEFT JOIN tableB ON tableA.messageID = tableB.messageID GROUP BY消息'但....我怎么会得到** ALL **记录TableA,只是增加了TableB的评论计数?我得到一个MSSQL“Column”tableA。messageID'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中“当我尝试从TableA中选择*时出现错误 – PDD
对不起,上面应该是'SELECT message,count(commentID)as评论数目 FROM tableA LEFT JOIN tableB ON tableA.messageID = tableB.messageID GROUP BY message'使用*会给我错误 – PDD