所以我正在研究 SQL Server 2008,我有这个查询应该很简单,但由于某种原因不起作用。它基本上看起来像这样:
SELECT TOP 10
u.Id AS "UserId",
u.CreationDate AS "Member since",
AVG(q.Score) AS "Average Question Rating",
COUNT(q.Id) AS "N. of Questions posted by the agent",
AVG(a.Score) AS "Average Answer Rating",
COUNT(a.Id) AS "N. of Answers posted by the agent"
FROM
Users u,
Answers a,
Questions q
WHERE q.OwnerUserId = u.Id
AND a.OwnerUserId = u.Id
GROUP BY u.Id, u.CreationDate
当我只处理 Answers 表或 Questions 表时,一切正常。但是,一旦我尝试同时执行这两项操作(如上面的查询),COUNT 就根本不起作用。我得到的是 COUNT(a.Id) 与 COUNT(q.Id) 相同。所以我试着减少我的查询,看看有什么问题,我意识到我只需要在使用另一个表时将 Questions 或 Answers 表(即使没有在任何地方使用它们)添加到 FROM 子句中,一切都被破坏了。
我确信这是我忽略的可笑的微不足道的事情,但这让我发疯,如果有人能指出我出了什么问题,我将不胜感激。先感谢您。