我如何确定哪些具有特定 RoleID 的用户在某个时间间隔内未处于活动状态?他们属于哪个家庭部门?
How can I determined which users with a specific RoleID that's not been active within a time interval? And which home department do they belong to?
下面的脚本会告诉我在一段时间内有多少具有特定 RoleID 的非活跃用户。当我运行下面的脚本。它还会告诉我每个用户属于哪个家庭部门。
FROM [dbo].[tbl_Users] u
WHERE NOT EXISTS (SELECT 1
FROM [dbo].[CaseTable] ct
WHERE ct.UserID = u.UserID AND
ct.CreationDate between '2019-01-01' and '2019-12-31'
) AND
EXISTS (SELECT 1
FROM tbl_UsersBelongsTo ubt
WHERE ubt.RoleID = 6 AND ubt.userId = u.userId
);
第二个脚本是一个 INNER JOIN,我可以在其中确定它属于哪个 DefaultDepartmentId (HomeDepartment)。例如 DefaultDepartmentID = 1 在 table tbl_Departments 中被命名为 Testdepartment。这里两个table的关系就是DepartmentID.
FROM tbl_Users
INNER JOIN tbl_Departments ON tbl_Users.DefaultDepartmentID=tbl_Departments.DepartmentID
运行安装此脚本后。我可以确定它属于哪个 DefaultDepartmentID,例如 DefaultDepartmentId=3 被命名为 Testdepartment2
所以我的问题是,如何将这些集成到查询中?
提前致谢。
执行 JOIN
:
SELECT u.*, d.*
FROM [dbo].[tbl_Users] u INNER JOIN
tbl_Departments d
ON d.DepartmentID = u.DefaultDepartmentID
WHERE . . ;
下面的脚本会告诉我在一段时间内有多少具有特定 RoleID 的非活跃用户。当我运行下面的脚本。它还会告诉我每个用户属于哪个家庭部门。
FROM [dbo].[tbl_Users] u
WHERE NOT EXISTS (SELECT 1
FROM [dbo].[CaseTable] ct
WHERE ct.UserID = u.UserID AND
ct.CreationDate between '2019-01-01' and '2019-12-31'
) AND
EXISTS (SELECT 1
FROM tbl_UsersBelongsTo ubt
WHERE ubt.RoleID = 6 AND ubt.userId = u.userId
);
第二个脚本是一个 INNER JOIN,我可以在其中确定它属于哪个 DefaultDepartmentId (HomeDepartment)。例如 DefaultDepartmentID = 1 在 table tbl_Departments 中被命名为 Testdepartment。这里两个table的关系就是DepartmentID.
FROM tbl_Users
INNER JOIN tbl_Departments ON tbl_Users.DefaultDepartmentID=tbl_Departments.DepartmentID
运行安装此脚本后。我可以确定它属于哪个 DefaultDepartmentID,例如 DefaultDepartmentId=3 被命名为 Testdepartment2
所以我的问题是,如何将这些集成到查询中? 提前致谢。
执行 JOIN
:
SELECT u.*, d.*
FROM [dbo].[tbl_Users] u INNER JOIN
tbl_Departments d
ON d.DepartmentID = u.DefaultDepartmentID
WHERE . . ;