Ir para conteúdo
Fórum Script Brasil
  • 0

Montar Uma Sql


Guest --Fabio --

Pergunta

Guest --Fabio --

Olá pessoal, preciso montar um codigo que faça o seguinte :

Tenho um banco de dados em MySQL chamado "BANCO_SISTEMA",

nele tem uma tabela : "Clientes" com os campos( Nome, Endereço, Cidade, Estado, CLI_CEP )

e um outra tabela : " CEPS " com ( Nome_da_rua, Cidade, estado, CEP )

na Tabela " clientes " todos estão sem CEPS, e na tabela " CEPS ", tem os CEPS de todas as ruas, então preciso o seguinte :

Pegue o " endereço " e a " cidade " na tabela " Clientes "

pegue estes valores, compare na tabela " CEPS "

encontre o CEP da determinada rua e grave no campo CLI_CEPS da tabela clientes.

eu poderia fazer isso manualmente se fosse poucos porem são mais de 6 mil.

Acho que a logica seria :

1 - pegue o nome da rua + cidade da tabela " CLIENTES ".

2 - va ate na tabela " CEPS " localize a cidade e localize o nome da rua.

3 - na tabela " CLIENTES " set no campo CLI _CEP o CEP obtido.

set no cliCEP

acho que seria com comandos SELECT e UPDATES

Porem como comecei agora não sei como montar esta SQL.

Poderia me ajudar a montar este codigo por favor.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom...

vou tentar explicar como você pode fazer:

// Isso vai selecionar os registros de todos os clientes
$query = "SELECT * FROM `tabela`";
$result = mysql_query ($query);
 while ($row = mysql_fetch_array($result)) {
  $nome = $row[Nome];
  $rua = $row[endereco];

  // Dentro dessa query, você faz outra, que vai procurar na outra tabela
  $query2 = "SELECT * FROM `CEPS` WHERE `Nome_da_rua` = '$rua'";
  $result2 = mysql_query ($query2);
  while ($row2 = mysql_fetch_array($result2)) {
   $id = $row2[id];
   $cep = $row2[endereco];

    // Você vai precisar isolar o nome da rua do resto do endereço
    // para que a busca seja feita com sucesso
    // Você pode fazer isso usando a função explode() - http://br.php.net/explode

   if ($CLI_CEPS != $null) {
    $query3 = "UPDATE `clientes` SET `CLIP_CEP` = '$cep' WHERE `nome` = '$nome' LIMIT 1";
    $result3 = mysql_query ($query3); }

  }

 }

}

Bem...

é basicamente isso, mas não copie e cole direto, é mais pra você ter uma noção

de como fazer... Lembre-se que este script criará um tráfego imenso no servidor,

uma vez que se você tiver 1000 clientes e 6000 ceps, ele fará até 6 milhões de consultas

em um tempo curtíssimo.

Existe uma função chamada sleep que dá um delay entre uma consulta e outra...

Você pode endendê-la em http://br.php.net/sleep

É recomendável que você faça um backup do banco de dados antes de executar o script,

porque se der pau em alguma coisa, você não perde tudo.

Também recomendo que você utilize um "id" pra cada linha nas duas tabelas,

ou seja, um código para cada registro de cliente e um código para cada registro de CEP.

Se você tiver como mudar o banco de dados, faça isso, poderá te ajudar muito futuramente.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...