Atualizar CEP usando 2 tabelas com MySQL

MySQL

13/09/2015

Boa Tarde,

Estou precisando atualizar corretamente os endereços dos meus clientes que estão em uma tabela, para isto tenho uma outra tabela de CEP atualizada e gostaria de fazer um UPDATE em LOOP para atualizar de forma automática, estou tentando fazer conforme o código abaixo mas não estou obtendo sucesso, alguém pode me ajudar por favor?


UPDATE bussola b SET
b.END_CEP = c.cep,
b.END_TIPO_LOGRADOURO = c.tipo,
b.END_LOGRADOURO = c.logradouro,
b.END_BAIRRO = c.bairro,
b.END_COMPLEMENTO = c.complemento,
b.END_CIDADE = c.cidade,
b.END_UF = c.uf
FROM bussola b INNER JOIN cep c ON b.end_cep = c.end_cep

ERRO: Você tem um erro de sintaxe no seu SQL próximo a 'FROM bussola b INNER JOIN cep c
ON b.end_cep = c.end_cep' na linha 2 SQL.sql 2 5

Desde já agradeço à atenção.

Domênico.
Camara Campos

Camara Campos

Curtidas 0

Respostas

Fernando C

Fernando C

13/09/2015

"update from" "non eczizte".
confira a sintaxe e outras dicas boas:
http://www.w3schools.com/sql/sql_update.asp
http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx
GOSTEI 0
Camara Campos

Camara Campos

13/09/2015

Obrigado pela dica.

A dificuldade aqui é fazer update usando 2 tabelas.

Obrigado.
GOSTEI 0
Camara Campos

Camara Campos

13/09/2015

Consegui evoluir um pouco para este código, mas ainda esta com erro: Operand should contain 1 column(s)

UPDATE bussola b SET
b.END_CEP = c.cep,
b.END_TIPO_LOGRADOURO = c.tipo,
b.END_LOGRADOURO = c.logradouro,
b.END_BAIRRO = c.bairro,
b.END_COMPLEMENTO = c.complemento,
b.END_CIDADE = c.cidade,
b.END_UF = c.uf
WHERE b.END_CEP = (SELECT c.CEP,c.TIPO,c.LOGRADOURO,c.BAIRRO,c.COMPLEMENTO,c.CIDADE,c.UF FROM CEP c)
AND
b.END_CEP = c.CEP
GOSTEI 0
POSTAR