-
Notifications
You must be signed in to change notification settings - Fork 2
/
SQL026.sql
130 lines (117 loc) · 4.23 KB
/
SQL026.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*
* PLT048 - Script para listagem de alunos e totais de situação de pre-matricula / outros
* @param CODFILIAL Código da Filial
* @param CODPERLET Código do Periodo Letivo
*
* @author Marcelo Valvassori Bittencourt
* @mail [email protected]
* @version 1.0 bitts 05/01/2017
*/
DECLARE
@CODPERLET VARCHAR(10) = '2017',
@CODFILIAL VARCHAR(1) = '3';
SELECT
SCURSO.NOME AS NOME_CURSO,
SMATRICPL.CODTURMA,
ISNULL( [PRE MATRICULADOS].TOTAL, 0) AS TOTAL_PREMTR,
ISNULL( [OUTROS].TOTAL, 0) AS TOTAL_OUTROS,
FCFO.NOME AS NOME_RESPONSAVEL,
FCFO.CGCCFO AS CPF_RESPONSAVEL,
FCFO.CIDENTIDADE AS RG_RESPONSAVEL,
SMATRICPL.IDPERLET,
SPLETIVO.CODPERLET,
SMATRICPL.RA,
1 CONTAGEM,
SSTATUS.CODSTATUS,
SSTATUS.DESCRICAO AS STATUS,
SUBSTRING(PPESSOA.CPF ,1,3) + '.' + SUBSTRING(PPESSOA.CPF ,4,3) + '.' + SUBSTRING(PPESSOA.CPF ,7,3) + '-' + SUBSTRING(PPESSOA.CPF ,10,2) AS CPF_ALUNO,
PPESSOA.CARTIDENTIDADE AS RG_ALUNO,
PPESSOA.NOME,
FLOOR(DATEDIFF(DAY, PPESSOA.DTNASCIMENTO, GETDATE()) / 365.25) AS IDADE,
PPESSOA.SEXO,
CONVERT (VARCHAR,PPESSOA.DTNASCIMENTO, 103) AS DTNASCIMENTO,
PPESSOA.ALUNO,
SHABILITACAO.NOME AS SERIE,
SPESSOA.CERTNUMERO AS CERTIDAO_NASC
FROM SMATRICPL
LEFT JOIN (
SELECT
CODCOLIGADA, CODFILIAL, CODTURMA, IDHABILITACAOFILIAL, IDPERLET, COUNT(RA) AS TOTAL
FROM SMATRICPL (NOLOCK)
WHERE CODSTATUS IN (45)
GROUP BY CODCOLIGADA, CODFILIAL, CODTURMA, IDHABILITACAOFILIAL, IDPERLET
) [PRE MATRICULADOS] (CODCOLIGADA, CODFILIAL, CODTURMA, IDHABILITACAOFILIAL, IDPERLET, TOTAL) ON
SMATRICPL.CODCOLIGADA = [PRE MATRICULADOS].CODCOLIGADA AND
SMATRICPL.CODFILIAL = [PRE MATRICULADOS].CODFILIAL AND
SMATRICPL.CODTURMA = [PRE MATRICULADOS].CODTURMA AND
SMATRICPL.IDHABILITACAOFILIAL = [PRE MATRICULADOS].IDHABILITACAOFILIAL AND
SMATRICPL.IDPERLET = [PRE MATRICULADOS].IDPERLET
LEFT JOIN (
SELECT
CODCOLIGADA, CODFILIAL, CODTURMA, IDHABILITACAOFILIAL, IDPERLET, COUNT(RA) AS TOTAL
FROM SMATRICPL (NOLOCK)
WHERE CODSTATUS IN (39,43,44,42,40)
GROUP BY CODCOLIGADA, CODFILIAL, CODTURMA, IDHABILITACAOFILIAL, IDPERLET
) [OUTROS] (CODCOLIGADA, CODFILIAL, CODTURMA, IDHABILITACAOFILIAL, IDPERLET, TOTAL) ON
SMATRICPL.CODCOLIGADA = [OUTROS].CODCOLIGADA AND
SMATRICPL.CODFILIAL = [OUTROS].CODFILIAL AND
SMATRICPL.CODTURMA = [OUTROS].CODTURMA AND
SMATRICPL.IDHABILITACAOFILIAL = [OUTROS].IDHABILITACAOFILIAL AND
SMATRICPL.IDPERLET = [OUTROS].IDPERLET
LEFT JOIN SPLETIVO (NOLOCK)
ON SPLETIVO.CODCOLIGADA = SMATRICPL.CODCOLIGADA
AND SPLETIVO.IDPERLET = SMATRICPL.IDPERLET
LEFT JOIN SSTATUS (NOLOCK)
ON SMATRICPL.CODCOLIGADA = SSTATUS.CODCOLIGADA
AND SMATRICPL.CODSTATUS = SSTATUS.CODSTATUS
LEFT JOIN SALUNO (NOLOCK)
ON SALUNO.CODCOLIGADA = SMATRICPL.CODCOLIGADA
AND SALUNO.RA = SMATRICPL.RA
LEFT JOIN PPESSOA (NOLOCK)
ON PPESSOA.CODIGO = SALUNO.CODPESSOA
INNER JOIN STURMA (NOLOCK)
ON STURMA.CODCOLIGADA = SMATRICPL.CODCOLIGADA
AND STURMA.CODFILIAL = SMATRICPL.CODFILIAL
AND STURMA.CODTURMA = SMATRICPL.CODTURMA
AND STURMA.IDPERLET = SMATRICPL.IDPERLET
LEFT JOIN SHABILITACAOFILIAL (NOLOCK)
ON SMATRICPL.CODCOLIGADA = SHABILITACAOFILIAL.CODCOLIGADA
AND SMATRICPL.IDHABILITACAOFILIAL = SHABILITACAOFILIAL.IDHABILITACAOFILIAL
LEFT JOIN SCURSO (NOLOCK)
ON SHABILITACAOFILIAL.CODCOLIGADA = SCURSO.CODCOLIGADA
AND SHABILITACAOFILIAL.CODCURSO = SCURSO.CODCURSO
LEFT JOIN SHABILITACAO (NOLOCK)
ON SHABILITACAO.CODCURSO = SHABILITACAOFILIAL.CODCURSO
AND SHABILITACAO.CODHABILITACAO = SHABILITACAOFILIAL.CODHABILITACAO
INNER JOIN FCFO (NOLOCK)
ON FCFO.CODCFO = SALUNO.CODCFO
INNER JOIN SPESSOA (NOLOCK)
ON PPESSOA.CODIGO = SPESSOA.CODIGO
WHERE SPLETIVO.CODPERLET = @CODPERLET
AND SSTATUS.DESCRICAO IN ('Matriculado','Pré-Matriculado','Transferido', 'Aprovado', 'Reprovado')
AND SMATRICPL.CODFILIAL = @CODFILIAL
GROUP BY
[PRE MATRICULADOS].TOTAL,
[OUTROS].TOTAL,
SMATRICPL.RA,
PPESSOA.NOME,
SMATRICPL.CODTURMA,
SMATRICPL.IDPERLET,
SPLETIVO.CODPERLET,
PPESSOA.DTNASCIMENTO,
SSTATUS.DESCRICAO,
PPESSOA.SEXO,
PPESSOA.DTNASCIMENTO,
PPESSOA.ALUNO,
SSTATUS.CODSTATUS,
SCURSO.NOME,
SHABILITACAO.NOME,
FCFO.NOME,
FCFO.CGCCFO,
FCFO.CIDENTIDADE,
SPESSOA.CERTNUMERO,
PPESSOA.CARTIDENTIDADE,
PPESSOA.CPF
ORDER BY
SMATRICPL.CODTURMA,
PPESSOA.NOME