以下是我想要实现的内容:
1. 从用户表中获取用户ID(documents.ownerID 是 Users.Handle 的外键)
2. 对于在过去90天内没有在documents表中创建记录的用户
以下是我目前使用的查询语句(我正在通过 SQL Studio Management 2012 运行):
以下是我目前使用的查询语句(我正在通过 SQL Studio Management 2012 运行):
Select Users.UserID
From Documents
Inner Join Users on documents.OwnerID = users.handle
Where Not Exists
(
Select *
From Documents
Where documents.creationtime >= Dateadd(day, -90, getutcdate())
)
Group by Users.UserID
Order by Users.UserID ASC
输出中没有任何内容。但是,当我从“Not Exists”语句中删除“Not”时,我会得到一个输出,其中包含在过去90天内在文档表中创建记录的用户。此外,如果我将“>=”指示器更改为“=” ,我也会收到输出。我认为问题在于我对EXIST语句的理解还不够充分。非常感谢您的帮助。
EXISTS
语句是其中一个有趣的语句,它实际上可以引用括号外的数据集。这是允许的原因之一,是为了能够将其与另一个数据集相关联。 - coge.soft