我有一张表Documents,其中列出了所有文档和有关它们的各种信息。我要做的是,对于一组选定的作者,计算他们在过去一年中创作的所有文档。对于每个文档,我们都有一个列来存储作者姓名和 ID。
我目前通过下面的查询得到了我想要的,但我的问题是我还需要列出所有没有创作任何文档的作者。(因此,对于Number of Docs Signed列,它们的值为零)这是我现在所拥有的:
SELECT
[AuthorID] As "Author ID",
RTRIM([AuthorFirstName]) + ' ' + RTRIM([AuthorLastName]) AS "Author",
COUNT(Document.ID) AS "Number of Docs Authored"
FROM Document
WHERE [CompletedStatus] = 'Yes'
AND [AuthorID] IN (<list of author ID's>)
AND [CompletedOn] >= DATEADD(d, -365, getdate())
GROUP BY [AuthorID], [AuthorFirstName], [AuthorLastName]
ORDER BY [Number of Docs Signed] DESC
通过阅读 SO,我知道我认为我需要某种可以加入的子查询,以便在 COUNT 没有返回行时显示“0”。但是对于我的生活,我不知道该怎么做。我很确定它需要是这样的。