Как определить, какие пользователи с указанным c RoleID не активны в течение определенного промежутка времени? И к какому домашнему отделу они относятся? - PullRequest
0 голосов
/ 03 марта 2020

Этот скрипт ниже скажет мне, сколько неактивных пользователей с определенным 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          
            ); 

Этот второй скрипт представляет собой ВНУТРЕННЕЕ СОЕДИНЕНИЕ, в котором я могу определить, к какому DefaultDepartmentId (HomeDepartment) он принадлежит. Например, DefaultDepartmentID = 1 называется Testdepartment в таблице tbl_Departments. Связь между двумя таблицами здесь - это DepartmentID.

FROM tbl_Users
INNER JOIN tbl_Departments ON tbl_Users.DefaultDepartmentID=tbl_Departments.DepartmentID

После запуска этого сценария. Я могу понять, к какому DefaultDepartmentID он принадлежит, например, что DefaultDepartmentId = 3 называется Testdepartment2

Итак, мой вопрос, как я могу интегрировать их в запросы вместе? Заранее спасибо.

1 Ответ

0 голосов
/ 03 марта 2020

У JOIN:

SELECT u.*, d.*
FROM [dbo].[tbl_Users] u INNER JOIN
     tbl_Departments d
     ON d.DepartmentID = u.DefaultDepartmentID
WHERE . . ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...