diff --git a/docente_por_formacao.sql b/docente_por_formacao.sql new file mode 100644 index 0000000000000000000000000000000000000000..ba86c4d877f90739c6d2210f7f3f7e587bb0da7e --- /dev/null +++ b/docente_por_formacao.sql @@ -0,0 +1,85 @@ +/* +Copyright (C) 2016 Centro de Computacao Cientifica e Software Livre +Departamento de Informatica - Universidade Federal do Parana - C3SL/UFPR + +This file is part of HOTMapper. + +HOTMapper is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +HOTMapper is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +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 ( + +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 + 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) 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 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) + 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) 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, + 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 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) + 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) 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, + 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 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 + 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) 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.id_docente, docente.nivel_tipo_formacao + ORDER BY docente.ano_censo ASC, estado.nome ASC, estado.id ASC, municipio.nome ASC, municipio.id ASC + ) + +SELECT * FROM docente_total +UNION ALL (SELECT * FROM docente_medio) +UNION ALL (SELECT * FROM docente_superior) +UNION ALL (SELECT * FROM docente_especializacao_mestrado_doutorado) +); diff --git a/idm.sql b/idm.sql index 212f53a89d34c789420815472008f39268fbb4ce..c7062e43e5e47974ae16657ab992d23d099e8c0f 100644 --- a/idm.sql +++ b/idm.sql @@ -24,73 +24,79 @@ along with HOTMapper. If not, see <https://www.gnu.org/licenses/>. CREATE TABLE indice_distribuicao_matriculas AS ( WITH div_estado AS - (SELECT count(serie_ano_id) AS total_estado, serie_ano_id, estado_id, ano_censo, localizacao_id + (SELECT count(serie_ano_id) AS total_estado, serie_ano_id, estado_id, ano_censo, localizacao_id, + dependencia_adm_id FROM matricula WHERE ano_censo>=2017 AND tipo <= 3 AND dependencia_adm_id <=3 - GROUP BY serie_ano_id, estado_id, ano_censo, localizacao_id), + GROUP BY serie_ano_id, estado_id, ano_censo, localizacao_id, dependencia_adm_id), div_estado_mod AS (SELECT count(serie_ano_id) AS total_estado_mod, cast(LEFT(serie_ano_id, 1) as integer) as serie_mod, estado_id, - ano_censo, localizacao_id + ano_censo, localizacao_id, dependencia_adm_id FROM matricula WHERE ano_censo >= 2017 AND tipo <= 3 AND dependencia_adm_id <= 3 - GROUP BY serie_mod, estado_id, ano_censo, localizacao_id), + GROUP BY serie_mod, estado_id, ano_censo, localizacao_id, dependencia_adm_id), div_brasil AS - (SELECT sum(total_estado) AS total_brasil, serie_ano_id, ano_censo, localizacao_id + (SELECT sum(total_estado) AS total_brasil, serie_ano_id, ano_censo, localizacao_id, dependencia_adm_id FROM div_estado - GROUP BY serie_ano_id, ano_censo, localizacao_id), + GROUP BY serie_ano_id, ano_censo, localizacao_id, dependencia_adm_id), div_brasil_mod AS - (SELECT sum(total_brasil) AS total_brasil_mod, cast(LEFT(serie_ano_id, 1) as integer) as serie_mod, ano_censo, localizacao_id + (SELECT sum(total_brasil) AS total_brasil_mod, cast(LEFT(serie_ano_id, 1) as integer) as serie_mod, ano_censo, + localizacao_id, dependencia_adm_id FROM div_brasil - GROUP BY serie_mod, ano_censo, localizacao_id), + GROUP BY serie_mod, ano_censo, localizacao_id, dependencia_adm_id), nivel_sim1 AS (SELECT matricula.ano_censo, matricula.estado_id, municipio_id, matricula.serie_ano_id, total_brasil AS total_etapa, cast(count(matricula.serie_ano_id) AS double)/total_etapa AS indice, 1 AS nivel_simulacao, - matricula.localizacao_id + matricula.localizacao_id, matricula.dependencia_adm_id FROM matricula JOIN div_brasil ON matricula.serie_ano_id=div_brasil.serie_ano_id AND matricula.ano_censo=div_brasil.ano_censo AND matricula.localizacao_id=div_brasil.localizacao_id + AND matricula.dependencia_adm_id=div_brasil.dependencia_adm_id WHERE matricula.ano_censo>=2017 AND tipo <= 3 AND dependencia_adm_priv <=3 GROUP BY matricula.ano_censo, matricula.estado_id, municipio_id, matricula.serie_ano_id, total_etapa, - matricula.localizacao_id), + matricula.localizacao_id, matricula.dependencia_adm_id), nivel_sim2 AS (SELECT matricula.ano_censo, matricula.estado_id, municipio_id, matricula.serie_ano_id, total_estado AS total_etapa, cast(count(matricula.serie_ano_id) AS double)/total_etapa AS indice, 2 AS nivel_simulacao, - matricula.localizacao_id + matricula.localizacao_id, matricula.dependencia_adm_id FROM matricula JOIN div_estado ON matricula.serie_ano_id=div_estado.serie_ano_id AND matricula.estado_id=div_estado.estado_id AND matricula.ano_censo=div_estado.ano_censo AND matricula.localizacao_id=div_estado.localizacao_id + AND matricula.dependencia_adm_id=div_estado.dependencia_adm_id WHERE matricula.ano_censo>=2017 AND tipo <= 3 AND dependencia_adm_priv <=3 GROUP BY matricula.ano_censo, matricula.estado_id, municipio_id, matricula.serie_ano_id, total_etapa, - matricula.localizacao_id), + matricula.localizacao_id, matricula.dependencia_adm_id), nivel_sim1_mod AS (SELECT matricula.ano_censo, matricula.estado_id, municipio_id, serie_mod as serie_ano_id, total_brasil_mod AS total_etapa, cast(count(matricula.serie_ano_id) AS double)/total_etapa AS indice, - 1 AS nivel_simulacao, matricula.localizacao_id + 1 AS nivel_simulacao, matricula.localizacao_id, matricula.dependencia_adm_id FROM matricula JOIN div_brasil_mod ON LEFT(matricula.serie_ano_id, 1)=div_brasil_mod.serie_mod AND matricula.ano_censo=div_brasil_mod.ano_censo AND matricula.localizacao_id=div_brasil_mod.localizacao_id + AND matricula.dependencia_adm_id=div_brasil_mod.dependencia_adm_id WHERE matricula.ano_censo>=2017 AND tipo <= 3 AND dependencia_adm_priv <=3 GROUP BY matricula.ano_censo, matricula.estado_id, municipio_id, serie_mod, total_etapa, - matricula.localizacao_id), + matricula.localizacao_id, matricula.dependencia_adm_id), nivel_sim2_mod AS (SELECT matricula.ano_censo, matricula.estado_id, municipio_id, serie_mod as serie_ano_id, total_estado_mod AS total_etapa, cast(count(matricula.serie_ano_id) AS double)/total_etapa AS indice, - 2 AS nivel_simulacao, matricula.localizacao_id + 2 AS nivel_simulacao, matricula.localizacao_id, matricula.dependencia_adm_id FROM matricula JOIN div_estado_mod ON LEFT(matricula.serie_ano_id, 1)=div_estado_mod.serie_mod AND matricula.estado_id=div_estado_mod.estado_id AND matricula.ano_censo=div_estado_mod.ano_censo AND matricula.localizacao_id=div_estado_mod.localizacao_id + AND matricula.dependencia_adm_id=div_estado_mod.dependencia_adm_id WHERE matricula.ano_censo>=2017 AND tipo <= 3 AND dependencia_adm_priv <=3 GROUP BY matricula.ano_censo, matricula.estado_id, municipio_id, serie_mod, total_etapa, - matricula.localizacao_id) + matricula.localizacao_id, matricula.dependencia_adm_id) SELECT * FROM nivel_sim1 UNION ALL diff --git a/matricula_por_localizacao.sql b/matricula_por_localizacao.sql index 5d455e8f0acc65214388b4533808be486a682bad..26465856dc675fbf30eb53a16541d90cea8d6030 100644 --- a/matricula_por_localizacao.sql +++ b/matricula_por_localizacao.sql @@ -25,44 +25,48 @@ CREATE TABLE matricula_por_localizacao AS ( WITH day_count AS - (SELECT count(*) as dia_total, ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id + (SELECT count(*) as dia_total, ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id, + dependencia_adm_id FROM matricula WHERE tipo<=3 AND dependencia_adm_id < 4 AND ano_censo >= 2017 AND (turma_turno_id IN (1, 2, 99) OR turma_turno_id IS null) - GROUP BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id - ORDER BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id + GROUP BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id, dependencia_adm_id + ORDER BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id, dependencia_adm_id ), night_count AS - (SELECT count(*) as noite_total, ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id + (SELECT count(*) as noite_total, ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id, + dependencia_adm_id FROM matricula WHERE tipo<=3 AND dependencia_adm_id < 4 AND ano_censo >= 2017 AND turma_turno_id = 3 - GROUP BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id - ORDER BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id + GROUP BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id, dependencia_adm_id + ORDER BY ano_censo, estado_id, municipio_id, serie_ano_id, localizacao_id, dependencia_adm_id ) SELECT matricula.ano_censo, matricula.estado_id, matricula.municipio_id, matricula.serie_ano_id, COALESCE(dia_total, 0) AS dia_total, - COALESCE(noite_total, 0) AS noite_total, matricula.localizacao_id + COALESCE(noite_total, 0) AS noite_total, matricula.localizacao_id, matricula.dependencia_adm_id FROM matricula LEFT JOIN day_count ON matricula.ano_censo=day_count.ano_censo AND matricula.estado_id=day_count.estado_id AND matricula.municipio_id=day_count.municipio_id AND matricula.serie_ano_id=day_count.serie_ano_id AND matricula.localizacao_id=day_count.localizacao_id + AND matricula.dependencia_adm_id=day_count.dependencia_adm_id LEFT JOIN night_count ON matricula.ano_censo=night_count.ano_censo AND matricula.estado_id=night_count.estado_id AND matricula.municipio_id=night_count.municipio_id AND matricula.serie_ano_id=night_count.serie_ano_id AND matricula.localizacao_id=night_count.localizacao_id + AND matricula.dependencia_adm_id=night_count.dependencia_adm_id WHERE matricula.ano_censo >= 2017 AND matricula.serie_ano_id IS NOT NULL AND matricula.tipo <= 3 AND matricula.dependencia_adm_id < 4 GROUP BY matricula.ano_censo, matricula.estado_id, matricula.municipio_id, matricula.serie_ano_id, dia_total, - noite_total, matricula.localizacao_id + noite_total, matricula.localizacao_id, matricula.dependencia_adm_id ); -- Create serie mod INSERT INTO matricula_por_localizacao(ano_censo, estado_id, municipio_id, serie_ano_id, dia_total, noite_total, - localizacao_id) + localizacao_id, dependencia_adm_id) SELECT ano_censo, estado_id, municipio_id, LEFT(serie_ano_id, 1) as serie, sum(dia_total), sum(noite_total), - localizacao_id + localizacao_id, dependencia_adm_id FROM matricula_por_localizacao -GROUP BY ano_censo, estado_id, municipio_id, serie, localizacao_id; \ No newline at end of file +GROUP BY ano_censo, estado_id, municipio_id, serie, localizacao_id, dependencia_adm_id; \ No newline at end of file diff --git a/transporte.sql b/transporte.sql new file mode 100644 index 0000000000000000000000000000000000000000..c27ed125418429af26c8ebc3c81f9bf8590a5075 --- /dev/null +++ b/transporte.sql @@ -0,0 +1,146 @@ +CREATE TABLE transporte AS ( + +WITH matricula_mod AS + (SELECT count(*) as total, matricula.regiao_id AS regiao_id, estado_id, estado.nome AS estado_nome, municipio_id, + escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, dependencia_adm_id, dependencia_adm_priv, responsavel_transp, + ano_censo, transporte_vans_kombi, transporte_micro_onibus, transporte_onibus, transporte_bicicleta, + transporte_animal, transporte_outro, transporte_embar_0_5, transporte_embar_5_15, transporte_embar_15_35, + transporte_embar_35, transporte_trem_metro, transporte_escolar_publico + FROM matricula JOIN estado ON matricula.estado_id = estado.id + WHERE tipo <= 3 + GROUP BY matricula.regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, transporte_vans_kombi, + transporte_micro_onibus, transporte_onibus, transporte_bicicleta, transporte_animal, transporte_outro, + transporte_embar_0_5, transporte_embar_5_15, transporte_embar_15_35, transporte_embar_35, transporte_trem_metro, + transporte_escolar_publico + ), + + matricula_mod_total AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 0 as transporte_id + FROM matricula_mod + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + transporte_publico_total AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 1 as transporte_id + FROM matricula_mod + WHERE transporte_escolar_publico = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + vans_kombi AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 2 as transporte_id + FROM matricula_mod + WHERE transporte_vans_kombi = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + micro_bus AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 3 as transporte_id + FROM matricula_mod + WHERE transporte_micro_onibus = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + bus AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 4 as transporte_id + FROM matricula_mod + WHERE transporte_onibus = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + bike AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 5 as transporte_id + FROM matricula_mod + WHERE transporte_bicicleta = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + animal_traction AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 6 as transporte_id + FROM matricula_mod + WHERE transporte_animal = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + other_vehicle AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 7 as transporte_id + FROM matricula_mod + WHERE transporte_outro = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + waterway_5 AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 8 as transporte_id + FROM matricula_mod + WHERE transporte_embar_0_5 = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + waterway_15 AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 9 as transporte_id + FROM matricula_mod + WHERE transporte_embar_5_15 = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + waterway_35 AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 10 as transporte_id + FROM matricula_mod + WHERE transporte_embar_15_35 = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + waterway_35_upper AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 11 as transporte_id + FROM matricula_mod + WHERE transporte_embar_35 = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo), + + subway_train AS + (SELECT SUM(total) as total, regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo, 12 as transporte_id + FROM matricula_mod + WHERE transporte_trem_metro = 1 + GROUP BY regiao_id, estado_id, estado_nome, municipio_id, escola_id, etapas_mod_ensino_segmento_id, localizacao_id, localidade_area_rural, + dependencia_adm_id, dependencia_adm_priv, responsavel_transp, ano_censo) + +SELECT * FROM matricula_mod_total +UNION ALL +SELECT * FROM transporte_publico_total +UNION ALL +SELECT * FROM vans_kombi +UNION ALL +SELECT * FROM micro_bus +UNION ALL +SELECT * FROM bus +UNION ALL +SELECT * FROM bike +UNION ALL +SELECT * FROM animal_traction +UNION ALL +SELECT * FROM other_vehicle +UNION ALL +SELECT * FROM waterway_5 +UNION ALL +SELECT * FROM waterway_15 +UNION ALL +SELECT * FROM waterway_35 +UNION ALL +SELECT * FROM waterway_35_upper +UNION ALL +SELECT * FROM subway_train +); \ No newline at end of file