2009/10/3 Rodrigo Ibraim [PGOpen] <[email protected]>:
> Bom dia
>
> este e um campo varchar:
>
> p...@null@POLIO
> n...@hipb@null
> n...@null@null
> p...@hipb@POLIO
> n...@null@POLIO
>
> preciso separar estes 3 itens "PHI,HIPB e POLIO", para gerar um relatorio
> asim:
>
> setor: SP01 | PHI : 36 registros | HIPB : 40 registros | POLIO : 20
> registros
> setor: SP02 | PHI : 30 registros | HIPB : 45 registros | POLIO : 10
> registros
> setor: SP03 | PHI : 06 registros | HIPB : 40 registros | POLIO : 18
> registros
>
> consegui fazer o relatorio, criando uma view e para separar os campos uso o
> LIKE, mas temo disso acabar com o banco. Gostaria de saber se ha um outro
> meio de fazer isto.
>


Teste o comando abaixo:
SELECT setor,regexp_split_to_table(seu_campo_com_@, '@ ') FROM sua_tabela;

O resultado conterá em cada linha o setor e cada um dos pedaços deste seu campo.
Faça um GROUP BY descartando as linhas que tiverem o string 'null'.

Osvaldo

http://www.postgresql.org/docs/current/interactive/functions-matching.html#FUNCTIONS-POSIX-REGEXP
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a