Essa pesquisa é meio complexa ao meu ver, fiz isso mas no código PHP, onde 
pegava todas as palavras da frase e montava um select com varios inners joins
Pra isso tenho uma tabela de indices que guarda todas as palavras do cadastro, 
do campos que quiser...

Um exemplo do sistema em funcionamento está aqui (sem merchan em pessoal, não 
trabalho mais lá)

www.listasa.com.br


Marcelo Silva
---------------------------------------


From: Saulo Morais Lara 
Sent: Wednesday, September 05, 2012 11:12 AM
To: 'Comunidade PostgreSQL Brasileira' 
Subject: [pgbr-geral] Localizar em todos campos de uma tabela

Preciso buscar um determinado texto em todos os campos. Estou fazendo assim:

Concateno os campos em um campo e localizo neste campo concatenado. Por exemplo:

 

Localizar o texto ’35 CENTRO’. Este texto se refere a um número inicial de Cep 
e um bairro. 

 

SELECT cep.cepcep, cep.cepend, cep.cepbai, cep.cepcid, 
cep.cepuf,coalesce(cep.cepcep,' ')||coalesce(cep.cepend,' 
')||coalesce(cep.cepbai,' ')||coalesce(cep.cepcid,' ')||coalesce(cep.cepuf,' ') 
FROM cad.cep WHERE coalesce(cep.cepcep,' ')||coalesce(cep.cepend,' 
')||coalesce(cep.cepbai,' ')||coalesce(cep.cepcid,' ')||coalesce(cep.cepuf,' ') 
like '%35%CENTRO%' OR ORDER BY cepcep

 

Funciona perfeito. Vejam que de acordo com a consulta, o CEP vem antes do 
bairro.

Caso o usuário digitar ‘CENTRO 35’, obviamente a consulta não irá funcionar.

 

Pensei em fazer combinações possíveis com o texto digitado pelo usuário.

Irá localizar tanto ’35 CENTRO’ quanto ‘CENTRO 35’.

 

A pergunta é. Esta seria a melhor maneira se resolver isto?

 

At.te,
Saulo Morais
Depto de Desenvolvimento

Ability Informática Ltda

NOVO ENDEREÇO: Praça Torquato de Almeida, 29 - Centro

35660-041 - Pará de Minas - MG

(37) 3232-1127

[email protected]

Rua Tenente Batista, 36 - Centro

35519-000 - Nova Serrana - MG

(37) 3226-6007

[email protected]

 



--------------------------------------------------------------------------------
_______________________________________________
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

Responder a