SIS SQL Queries

From UFP-UV Sakai Wiki

Jump to: navigation, search

Contents


Informação sobre inscrição de aluno em turmas/áreas de disciplina

Nota: é necessário substitutir 99999 pelo número de aluno em questão.

SELECT R.STUDENT_ID AS 'Aluno',
       R.SECTION_ID AS 'Turma',
       C.NAME AS 'Disciplina',
       concat(I.FIRST_NAME,' ',I.LAST_NAME,' (',I.EMAIL,')') AS 'Docente',
       US.TITLE AS 'Área de Disciplina',
       US.CREATED AS 'Criada?',
       SS.PUBLISHED AS 'Publicada?'
FROM GEPUV.ROSTER R
LEFT JOIN GEPUV.SECTION S ON S.SECTION_ID = R.SECTION_ID
LEFT JOIN GEPUV.COURSE C ON C.COURSE_ID = S.COURSE_ID
LEFT JOIN GEPUV.TEACHES T ON T.SECTION_ID = S.SECTION_ID
LEFT JOIN GEPUV.INSTRUCTOR I ON I.USER_ID = T.INSTRUCTOR_ID
LEFT JOIN SISUV.UFPUV_SITE US ON R.SECTION_ID = US.SECTION_ID
LEFT JOIN sakai.SAKAI_SITE SS ON SS.SITE_ID = US.ID
WHERE R.STUDENT_ID = '99999'
GROUP BY R.SECTION_ID;

Resultado exemplo:

#Aluno	Turma	  Disciplina	                Docente	                          Área de Disciplina	 Criada?  Publicada?
99999	1BQQ1011  Arquitectura de Computadores	José Manuel Torres (jtorres)	  NULL                   NULL     NULL
99999	1BQY1011  Bases de Dados		Feliz Ribeiro Gouveia (fribeiro)  MICI-0910-111.2	 1	  0


Total de alunos por plano

Nota: ajustar parâmetros de selecção dos planos e do nº de aluno.

SELECT S.PLAN_ID AS 'Id Plano', P.NAME AS 'Plano', P.PLAN_TYPE AS 'Tipo',
       count(DISTINCT STUDENT_ID) AS 'TOTAL de Alunos'
FROM GEPUV.ROSTER R
JOIN GEPUV.SECTION S ON R.SECTION_ID = S.SECTION_ID
JOIN GEPUV.PLAN P ON S.PLAN_ID = P.PLAN_ID
WHERE S.PLAN_ID IN (
	     SELECT PLAN_ID
	     FROM GEPUV.PLAN WHERE NAME LIKE '%Informática%' AND DEPT='FCT'
	     AND PLAN_TYPE IN ('Licenciatura', 'Mestrado')
)
AND CAST(R.STUDENT_ID AS UNSIGNED) > 24000
GROUP BY S.PLAN_ID;

Resultado exemplo:

#Id_Plano  Plano                                                                Tipo            TOTAL_de_Alunos
160        INF - Engenharia Informática                                         Licenciatura    162
253        ISM - Engenharia Informática (Sistemas de Informação e Multimedia)   Mestrado        26
254        ICM - Engenharia Informática (Computação Móvel)                      Mestrado        25
263        INN - Engenharia Informática                                         Licenciatura    178

Total de alunos por disciplina de um dado plano

Nota: substituir 999 pelo código do plano e ajustar nº de aluno mínimo.

SELECT S.PLAN_ID AS 'Id Plano' , P.NAME AS 'Plano', P.PLAN_TYPE AS 'Tipo',
       C.ABBR AS 'Abr. Disciplina', C.NAME AS 'Disciplina',
       count(DISTINCT STUDENT_ID) AS 'TOTAL de Alunos'
FROM GEPUV.ROSTER R
JOIN GEPUV.SECTION S ON R.SECTION_ID = S.SECTION_ID
JOIN GEPUV.PLAN P ON S.PLAN_ID = P.PLAN_ID
JOIN GEPUV.COURSE C ON S.COURSE_ID = C.COURSE_ID
WHERE S.PLAN_ID = 999
AND CAST(R.STUDENT_ID AS UNSIGNED) > 24000
GROUP BY S.PLAN_ID, S.COURSE_ID;

Resultado exemplo:

#Id_Plano   Plano                         Tipo          Abr_Disciplina  Disciplina                          TOTAL_de_Alunos
263         INN - Engenharia Informática  Licenciatura  ACPT            Arquitectura de Computadores        11
263         INN - Engenharia Informática  Licenciatura  AED1            Algoritmos e Estruturas de Dados I  11
263         INN - Engenharia Informática  Licenciatura  AMT1            Análise Matemática I                95

Turmas alocadas a um determinado docente

Nota: substituir instructorLogin pelo login/userId do docente.

SELECT concat(I.FIRST_NAME,' ',I.LAST_NAME,' (',I.EMAIL,')') AS 'Docente',
       T.SECTION_ID AS 'Turma',
       C.ABBR AS 'Abr. Disciplina', C.NAME AS 'Disciplina',
       S.PLAN_ID AS 'Id Plano' , P.NAME AS 'Plano', P.PLAN_TYPE AS 'Tipo',
       US.TITLE AS 'Área', date_format(S.INITIAL_DATE, '%M %Y') AS 'Início'
FROM GEPUV.TEACHES T
JOIN GEPUV.INSTRUCTOR I ON I.USER_ID = T.INSTRUCTOR_ID
JOIN GEPUV.SECTION S ON T.SECTION_ID = S.SECTION_ID
JOIN GEPUV.PLAN P ON S.PLAN_ID = P.PLAN_ID
JOIN GEPUV.COURSE C ON S.COURSE_ID = C.COURSE_ID
LEFT JOIN SISUV.UFPUV_SITE US ON T.SECTION_ID = US.SECTION_ID
WHERE I.EMAIL = 'instructorLogin'
GROUP BY S.PLAN_ID, S.COURSE_ID
ORDER BY C.ABBR ASC

Resultado exemplo:

DocenteTurmaAbr. DisciplinaDisciplinaId PlanoPlanoTipoÁreaInício
xxxx1AMN1011ARIAnálise de Risco e Investimento294GCT - Gestão Comercial e ContabilidadeLicenciaturaARI-0910-112.2September 2010
xxxx1DSI1011DPEMDesenho da Pesquisa Empresarial403CEG - Ciências Empresariais (Gestão)DoutoramentoNULLSeptember 2010
xxxx1DSI1011DPEMDesenho da Pesquisa Empresarial404CEK - Ciências Empresariais (Marketing)DoutoramentoNULLSeptember 2010
xxxx1DSK1011ETESEscrita da Tese403CEG - Ciências Empresariais (Gestão)DoutoramentoNULLSeptember 2010
xxxx1DSK1011ETESEscrita da Tese404CEK - Ciências Empresariais (Marketing)DoutoramentoNULLSeptember 2010
xxxx1AHC1011OGEOrganização e Gestão de Empresas151CGE - Ciências EmpresariaisLicenciaturaNULLSeptember 2010
Personal tools