Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pastoremetal

Select de uma parte de um campo extenso

Recommended Posts

É o seguinte, eu tenho um banco de dados com ceps, códigos de bairros e cidades de todo o Brasil, e tenho também uma tabela que registra centrais que tem sua área de auação baseada por ceps, ou seja, tenho um campo nessa tabela que contem os ceps de atuação dessa central separados por ",". E ainda tenho uma tabela que registra clientes, que são encaminhados por uma central de acordo com seu cep.

 

Resumindo, quando eu quero saber qual a central responsável por determinado cliente, eu faço o seguinte:

SELECT * FROM franquias WHERE area_cobertura LIKE '$cepdocliente'

 

Essa técnica funciona bem, porém se eu fizer o contrário, tentar achar os clientes que são de responsabilidade de uma central eu tenho problemas com o tempo de execução pois estou fazendo assim:

 

$ceps = explode(",",$area_cobergura);

 

foreach($ceps as $cep){

$sql = mysql_query(SELECT * FROM clientes WHERE cep LIKE '$cep')

}

 

Ou seja, eu separo todos os ceps da área de cobertura da central e procuro cada um deles nos ceps dos clientes. Funcionar funciona, mas demora pra caramba.

 

Alguém teria outra sugestão de como fazer isso?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

normalize o banco de dados. No lugar de fazer um campo separado por ',' crie uma nova tabela para fazer o relacionamento

estude: Forma Normal

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.