Alunos por curso

De MSTECH wiki
Ir para: navegação, pesquisa
 1 /*
 2 - Alunos por curso (ensino médio, fundamental) (exibir ano letivo, curso, turma, disciplina)
 3 */
 4 
 5 USE DES_BLU_GestaoEscolar
 6 GO
 7 
 8 ; with Dados AS 
 9 (
10 	SELECT
11 		Uad.uad_nome AS DRE
12 		, Esc.esc_nome AS Escola
13 		, Pes.pes_nome as Aluno
14 		, Alc.alc_matricula AS [LoginBoletimOnline]
15 		, Tci.tci_nome AS Ciclo
16 		, Cur.cur_nome AS Curso
17 		, Crp.crp_descricao AS Serie
18 		, Cal.cal_ano AS AnoLetivo
19 		, Tur.tur_codigo AS Turma
20 		, CASE Tur.tur_tipo WHEN 1 THEN 'Normal' WHEN 2 THEN 'Recuperação paralela' WHEN 3 THEN 'Educação Física' WHEN 4 THEN 'Educação Física' ELSE '' END AS TipoTurma
21 		, Tur.tur_id
22 		, Tur.esc_id
23 		, ROW_NUMBER() OVER (PARTITION BY Esc.esc_id, Cur.cur_id ORDER BY Alu.alu_id) AS NumeroAlunoCurso
24 	FROM ACA_Aluno Alu WITH(NOLOCK)
25 	INNER JOIN MTR_MatriculaTurma Mtu WITH(NOLOCK)
26 		ON Mtu.alu_id = Alu.alu_id
27 		AND Mtu.mtu_situacao = 1
28 	INNER JOIN ACA_AlunoCurriculo Alc WITH(NOLOCK)
29 		ON Alc.alu_id = Mtu.alu_id
30 		AND Alc.alc_id = Mtu.alc_id
31 		AND Alc.alc_situacao = 1
32 	INNER JOIN TUR_Turma Tur WITH(NOLOCK)
33 		ON Tur.tur_id = Mtu.tur_id
34 	INNER JOIN ACA_CalendarioAnual Cal WITH(NOLOCK)
35 		ON Cal.cal_id = Tur.cal_id
36 	INNER JOIN ESC_Escola Esc WITH(NOLOCK)
37 		ON Esc.esc_id = Tur.esc_id
38 	LEFT JOIN Synonym_SYS_UnidadeAdministrativa Uad WITH(NOLOCK)
39 		ON Uad.ent_id = Esc.ent_id
40 		AND Uad.uad_id = Esc.uad_idSuperiorGestao
41 
42 	INNER JOIN Synonym_PES_Pessoa Pes WITH(NOLOCK)
43 		ON Pes.pes_id = Alu.pes_id
44 	LEFT JOIN Synonym_SYS_Usuario Usu WITH(NOLOCK)
45 		ON Usu.pes_id = Pes.pes_id
46 		AND Usu.usu_situacao <> 3
47 
48 	INNER JOIN ACA_Curso Cur WITH(NOLOCK)
49 		ON Cur.cur_id = Alc.cur_id
50 	INNER JOIN ACA_CurriculoPeriodo Crp WITH(NOLOCK)
51 		ON Crp.cur_id = Alc.cur_id
52 		AND Crp.crr_id = Alc.crr_id
53 		AND Crp.crp_id = Alc.crp_id
54 	LEFT JOIN ACA_TipoCiclo Tci WITH(NOLOCK)
55 		ON Tci.tci_id = Crp.tci_id
56 
57 	WHERE
58 		Alu.alu_situacao = 1
59 		AND Tur.tur_situacao = 1
60 )
61 SELECT *
62 FROM Dados
63 --WHERE NumeroAlunoCurso <= 20
64 order by
65 	DRE
66 	, Escola
67 	, Turma
68 	, Aluno