Esta consulta permite obter, para cada utilizador do Blackboard, a sua função de sistema primária e as funções de sistema secundárias que lhe estejam atribuídas.
A função primária é obtida a partir da tabela users, enquanto as funções secundárias são recuperadas de domain_admin. Quando um utilizador tem várias funções secundárias, estas são agrupadas numa única coluna, separadas por ;.
SELECT
u.user_id,
sr.system_role AS "Primary System Role",
STRING_AGG(da.system_role, ';') AS "Secondary System Roles"
FROM system_roles sr
INNER JOIN users u
ON u.system_role = sr.system_role
INNER JOIN domain_admin da
ON u.pk1 = da.user_pk1
-- WHERE
-- sr.system_role = 'ROLCODE'
-- OR da.system_role = 'ROLCODE'
GROUP BY
u.user_id,
sr.system_role
ORDER BY
u.user_id;
A consulta devolve três campos:
user_id: identificador do utilizador no Blackboard.Primary System Role: função de sistema principal atribuída ao utilizador.Secondary System Roles: lista de funções secundárias associadas ao utilizador.
O bloco WHERE é deixado comentado para que a consulta possa ser reutilizada de forma genérica. Se for necessário localizar apenas utilizadores que tenham uma determinada função, seja como função primária ou secundária, pode ativá-lo e substituir ROLCODE pelo código da função correspondente.
Nota: ao utilizar INNER JOIN com domain_admin, a consulta devolve apenas utilizadores que tenham pelo menos uma função secundária registada nessa tabela. Pode substituir este INNER JOIN por um LEFT JOIN se pretender obter todos os utilizadores.
As queries são fornecidas sem qualquer garantia. Funcionavam quando criamos o artigo, mas devido às mudanças que podem ocorrer em um software que está em constante evolução, não podemos assegurar que continuarão funcionando quando você nos ler.
Comentários
0 comentários
iniciar sessão para comentar.