From 09375948c641dfccd1850ae2e6bf467e1d3ac606 Mon Sep 17 00:00:00 2001
From: ppc19 <ppc19@inf.ufpr.br>
Date: Fri, 13 May 2022 15:56:21 -0300
Subject: [PATCH] add escola_id

---
 docente_por_formacao.sql | 44 +++++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 19 deletions(-)

diff --git a/docente_por_formacao.sql b/docente_por_formacao.sql
index a02acc8..3735e2c 100644
--- a/docente_por_formacao.sql
+++ b/docente_por_formacao.sql
@@ -21,12 +21,13 @@ along with HOTMapper.  If not, see <https://www.gnu.org/licenses/>.
 -- depends: docente, turma
 -- SimCAQ: tabela de docentes por formação --
 
-CREATE TABLE docente_por_formacao AS (
+CREATE TABLE docente_por_formacao2 AS (
 
 WITH
     docente_total AS
         (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
+            municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 0 as tipo_formacao, 
+            docente.escola_id as "escola_id"
         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)
@@ -36,12 +37,13 @@ WITH
                 (docente.tipo_turma_atendimento_id <= 2 AND docente.tipo_turma_id IS NULL))
             AND (docente.ano_censo >= 2018) AND (docente.nivel_tipo_formacao IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12))
         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.id_docente, docente.escola_id
+        ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC, docente.escola_id ASC
         ),
     docente_medio AS
         (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
+            municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 2 as tipo_formacao,
+            docente.escola_id as "escola_id"
         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)
@@ -51,12 +53,13 @@ WITH
                 (docente.tipo_turma_atendimento_id <= 2 AND docente.tipo_turma_id IS NULL))
             AND (docente.ano_censo >= 2018) AND (docente.nivel_tipo_formacao IN (1, 2, 3, 4))
         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.id_docente, docente.escola_id
+        ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC, docente.escola_id ASC
         ),
     docente_superior AS
         (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
+            municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 4 as tipo_formacao,
+            docente.escola_id as "escola_id"
         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)
@@ -66,12 +69,13 @@ WITH
                 (docente.tipo_turma_atendimento_id <= 2 AND docente.tipo_turma_id IS NULL))
             AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (5, 6))
         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.id_docente, docente.escola_id
+        ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC, docente.escola_id ASC
         ),
     docente_especializacao AS
         (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, 6 as tipo_formacao
+            municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 6 as tipo_formacao,
+            docente.escola_id as "escola_id"
         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)
@@ -81,12 +85,13 @@ WITH
                 (docente.tipo_turma_atendimento_id <= 2 AND docente.tipo_turma_id IS NULL))
             AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (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.id_docente, docente.escola_id
+        ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC, docente.escola_id ASC
         ),
     docente_mestrado AS
         (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, 7 as tipo_formacao
+            municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 7 as tipo_formacao,
+            docente.escola_id as "escola_id"
         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)
@@ -96,12 +101,13 @@ WITH
                 (docente.tipo_turma_atendimento_id <= 2 AND docente.tipo_turma_id IS NULL))
             AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (9, 10))
         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.id_docente, docente.escola_id
+        ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC, docente.escola_id ASC
         ),
     docente_doutorado AS
         (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, 8 as tipo_formacao
+            municipio.id AS municipio_id, docente.dependencia_adm_id as dependencia_adm_id, 8 as tipo_formacao,
+            docente.escola_id as "escola_id"
         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)
@@ -111,8 +117,8 @@ WITH
                 (docente.tipo_turma_atendimento_id <= 2 AND docente.tipo_turma_id IS NULL))
             AND (docente.ano_censo >= 2017) AND (docente.nivel_tipo_formacao IN (11, 12))
         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.id_docente, docente.escola_id
+        ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC, docente.escola_id ASC
         )
 
 SELECT * FROM docente_total
-- 
GitLab