Em 26/09/2014 16:11, "Paulo Vitor Bettini de Albuqerque Lima" <
[email protected]> escreveu:
> Gostaria de criar uma view para sumarizar por estado, a quantidade de
unidades que estão em cada um dos status.
>
> Vamos as tabelas:
>
> unidade:
> nome text,
> cod_ibge text,
> id serial NOT NULL
>
> parecer_unidade
> id bigserial NOT NULL,
> idunidade text,
> status text,
> obs text,
> gestor_estado text NOT NULL,
> hora_data timestamp with time zone DEFAULT now(),
>
> municipio
> codigo text NOT NULL,
> nome text,
> sigla_estado text,
>
> Senhores, dado o ambiente catastrófico, falta de indices, relacionamentos
(fk), chave das tabelas que não batem o tipo, etc...
>
> Detalhe, a tabela parecer_unidade, é uma tabela de histórico, toda
movimentação do status da unidade, fica registrado lá, por exemplo:
>
> unidade:
> nome=brasilia1,cod_ibge=1234,id=1
> nome=saopaulo2,cod_ibge=1235,id=2
> nome=brasilia2,cod_ibge=1234,id=3
>
> parecer_unidade:
> id=1,idunidade=1,status="nao atende as regras", data=25/09/2014 13:00:00
> id=2,idunidade=1,status="atende as regras",data=26/09/2014 15:00:00
> id=3,idunidade=2,status="nao atende as regras", data=25/09/2014 13:00:00
> id=4,idunidade=3,status="atende as regras",data=26/09/2014 15:00:00
>
> O que deveria vir na view:
>
> uf=DF,status="nao atende as regras", qtde=1
> uf=DF,status="atende as regras", qtde=2
> uf=SP,status="nao atende as regras",qtde=1
>
Uma forma seria algo parecido com:
SELECT m.sigla_estado, count (*) FROM (
SELECT DISTINCT ON (idunidade) idunidade, status
FROM parecer_unidade
ORDER BY data DESC
) t JOIN unidade u ON u.
> Estou com dificuldades porque não posso alterar as tabelas que tenho
hoje, a única coisa que me foi liberado foi criar views. Alguém pode me
ajudar? Eu só consigo pensar numa solução usando sub-selects. Penso que
deve ter algo melhor.
>
>
>
> Atenciosamente,
> Paulo Vitor Bettini de Paiva Lima, CSM
> http://about.me/paulolima
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral