需要帮助开发SQL查询



我正在尝试开发一个SQL查询,以帮助我从基于ASP.NET的网站中提取一些数据。我正在使用WebMatrix在基于ASP.NET的网站上开发SQL紧凑型数据库(sdf)。

我正在尝试在我的网站上实现一个代码,以便每月对数据库进行春季清理。我需要删除那些由用户创建但从未激活的帐户。因此,为了释放用户ID并管理数据库大小,我想我应该在数据库上运行一个查询,以获取那些尚未由用户确认且创建日期已过20天的帐户。

数据库结构是我的用户表被称为"Users"。它有一个UserID(自动编号)、电子邮件、全名等字段。

ASP的WebSecurity创建的表称为"webpages_Membership"。它有UserID(自动编号)、CreationDate、IsConfirmed(帐户是否已激活)等字段。

我不擅长开发SQL查询。我面临的问题是,当使用参数设置为DeleteAllRecords的Membership.DeleteUser方法删除用户时,它会删除我的Users表中相关用户的行,而在自己的表"webpages_Membership"中什么也不做。当用户尝试登录时,它只需检查电子邮件(userid)是否存在于我的Users表中。因此,从长远来看,"webpages_Membership"中出现的帐户在"Users"表中不存在,因为它们已被删除。熟悉WbeSecurity行为的人一定经历过以上所有这些。

我正在尝试开发一个查询,该查询将查找"webpages_Membership"表,为我获取IsConfirmed字段设置为False的行(意味着那些尚未激活的帐户),并确保"webpages_Membership"中的UserID字段也存在于"Users"表中(这将确保帐户以前没有被删除)。

select wm.* from webpages_Membership wm inner join Users u
on wm.UserID = u.UserID 
Where wm.IsConfirmed = 'false'
and DATEADD(dd,20,wm.CreationDate) <= getdate()

最新更新