diff --git a/docente_por_formacao.sql b/docente_por_formacao.sql index c738219e5703d454a224a2a89b9ab1c6c17245ec..ba86c4d877f90739c6d2210f7f3f7e587bb0da7e 100644 --- a/docente_por_formacao.sql +++ b/docente_por_formacao.sql @@ -25,19 +25,20 @@ CREATE TABLE docente_por_formacao AS ( WITH docente_total AS - (SELECT COUNT(DISTINCT docente.id_docente) AS "total", docente.ano_censo AS ano_censo, estado.id AS estado_id, + (SELECT docente.id_docente AS "id_docente", docente.ano_censo AS ano_censo, estado.id AS estado_id, municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 0 as tipo_formacao FROM docente INNER JOIN turma ON (docente.turma_id=turma.id AND docente.ano_censo=turma.ano_censo) INNER JOIN estado ON (docente.escola_estado_id=estado.id) INNER JOIN municipio ON (docente.escola_municipio_id=municipio.id) WHERE ((docente.tipo_docente = 1 OR docente.tipo_docente = 5) AND (turma.tipo_turma_id <= 3)) - AND (docente.ano_censo >= 2017) - GROUP BY docente.ano_censo, estado.nome, estado.id, municipio.nome, municipio.id, docente.dependencia_adm_id + AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (2, 3, 4, 5, 6, 7, 8)) + GROUP BY docente.ano_censo, estado.nome, estado.id, municipio.nome, municipio.id, docente.dependencia_adm_id, + docente.id_docente ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC ), docente_medio AS - (SELECT COUNT(DISTINCT docente.id_docente) AS "total", docente.ano_censo AS ano_censo, estado.id AS estado_id, + (SELECT docente.id_docente AS "id_docente", docente.ano_censo AS ano_censo, estado.id AS estado_id, municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 2 as tipo_formacao FROM docente INNER JOIN turma ON (docente.turma_id=turma.id AND docente.ano_censo=turma.ano_censo) @@ -45,11 +46,12 @@ WITH INNER JOIN municipio ON (docente.escola_municipio_id=municipio.id) WHERE ((docente.tipo_docente = 1 OR docente.tipo_docente = 5) AND (turma.tipo_turma_id <= 3)) AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (2, 3)) - GROUP BY docente.ano_censo, estado.nome, estado.id, municipio.nome, municipio.id, docente.dependencia_adm_id + GROUP BY docente.ano_censo, estado.nome, estado.id, municipio.nome, municipio.id, docente.dependencia_adm_id, + docente.id_docente ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC ), docente_superior AS - (SELECT COUNT(DISTINCT docente.id_docente) AS "total", docente.ano_censo AS ano_censo, estado.id AS estado_id, + (SELECT docente.id_docente AS "id_docente", docente.ano_censo AS ano_censo, estado.id AS estado_id, municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 4 as tipo_formacao FROM docente INNER JOIN turma ON (docente.turma_id=turma.id AND docente.ano_censo=turma.ano_censo) @@ -57,11 +59,12 @@ WITH INNER JOIN municipio ON (docente.escola_municipio_id=municipio.id) WHERE ((docente.tipo_docente = 1 OR docente.tipo_docente = 5) AND (turma.tipo_turma_id <= 3)) AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (4, 5)) - GROUP BY docente.ano_censo, estado.nome, estado.id, municipio.nome, municipio.id, docente.dependencia_adm_id + GROUP BY docente.ano_censo, estado.nome, estado.id, municipio.nome, municipio.id, docente.dependencia_adm_id, + docente.id_docente ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC ), docente_especializacao_mestrado_doutorado AS - (SELECT COUNT(DISTINCT docente.id_docente) AS "total", docente.ano_censo AS ano_censo, estado.id AS estado_id, + (SELECT id_docente AS "id_docente", docente.ano_censo AS ano_censo, estado.id AS estado_id, municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, docente.nivel_tipo_formacao as tipo_formacao FROM docente @@ -71,7 +74,7 @@ WITH WHERE ((docente.tipo_docente = 1 OR docente.tipo_docente = 5) AND (turma.tipo_turma_id <= 3)) AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (6, 7, 8)) GROUP BY docente.ano_censo, estado.nome, estado.id, municipio.nome, municipio.id, docente.dependencia_adm_id, - docente.nivel_tipo_formacao + docente.id_docente, docente.nivel_tipo_formacao ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC )