Pular para o conteúdo principal

Update com Join no MySQL

Como fazer um update em uma tabela do MySQL, com base no valor de um campo de outra tabela com a qual essa se relaciona? Veja o modelo a seguir:

update TabelaQueDesejaAtualizar, TabelaComAQualVaiRelacionar
set TabelaQueDesejaAtualizar.CampoParaAtualizar = TabelaComAQualVaiRelacionar.CampoComValorDesejado
where TabelaQueDesejaAtualizar.CampoParaRelacionar = TabelaComAQualVaiRelacionar.CampoParaRelacionar;


Exemplo:

update Funcionario, PessoaFisica
set Funcionario.codPessoa = PessoaFisica.codPessoa
where Funcionario.codPessoaFisica = PessoaFisica.codPessoaFisica;

Considerando as tabelas Funcionário e PessoaFisica, atribui ao campo codPessoa na tabela Funcionario o valor do campo codPessoa da tabela PessoaFisica, levando em conta que as tabelas Funcionario e PessoaFisica possuem um relacionamento por meio do campo codPessoaFisica existente nas duas tabelas. Desta forma, na tabela Funcionario, no campo codPessoa, teremos o mesmo valor deste campo no registro correspondente na tabela PessoaFisica.
Claro que esse campo codPessoa na tabela Funcionario não faz nenhum sentido e é totalmente redundante, sendo que o mesmo existe na tabela PessoaFisica. O exemplo foi apenas para mostrar como funciona um update com “join” no MySQL, e que deve funcionar em outros bancos. Eu lembro que no SQL Server havia uma forma diferente de se fazer isso, mas não lembro exatamente como.

Fonte:http://manoelcampos.com/2009/03/22/update-com-join-no-mysql/

Comentários

+ Vistas

O PVA NÃO FUNCIONA COM O JAVA 7 (RESOLVIDO)

Eu encontrei um problema na hora de instalar o PVA do Sped ICMS e SPED Contribuições, pois o java não executava a aplicação corretamente, ele apresentava um erro <JAVA HOME>. Mais eis a solução para o problema: Baixe o arquivo Jdk1.6.0_20   Download Jdk1.6.0_20   depois descompacte o mesmo e copie a pasta que foi gerada com a descompactação para a pasta java C:\Program Files (x86)\Java "isso windows 7 64bits" no XP é normal. Vualá, pode instalar os PVA's que vai funcionar que uma beleza. Espero que tenha ajudado.

Exercícios Resolvidos de Redes 1

Baixar Arquivos Sobre Redes:  Clique Aqui Exercícios 1)       Defina camada de rede. à É o segmento de transporte do hospedeiro emissor ao receptor, o lado emissor encapsula segmentos em datagramas. 2)       Quais são as funções mais importantes da camada de rede.  Explique cada uma.   à Repasse e roteamento. Repasse: mover pacotes da entrada do roteador para a saída apropriada do roteador. Roteamento: determinar rota seguida pelos pacotes da origem ao destino. 3)       Qual a terceira função mais importantes na camada de rede em algumas arquiteturas, segundo Kurose? à Estabelecimento de conexão: Algumas arquiteturas de rede exigem o estabelecimento de circuitos virtuais antes da transmissão de dados, por exemplo, ATM e Frame relay, x25. 4)       Dê exemplos de: a) Serviços para data gramas individuais.   à Entrada garantida e entra...

Remover Mapeamento pelo Registro do Windows

Já aconteceram casos em que ao criar um mapeamento de uma unidade de rede, não conseguir excluí-lo pelo modo tradicional, clicando com o botão direito e desconectar. Quando isso acontecer, será possível forçar a exclusão do mapeamento pelo Registro do Windows. Acessar o Editor de Registro do Windows. 1-) Iniciar – Executar 2-) Digitar: regedit 3-) Confirmar Acessar a chave: HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/MapNetworkDriveMRU Serão exibidos todos os mapeamentos existentes. Exclua ou altere o mapeamento desejado. REF: http://www.upware.com.br/remover-mapeamento-pelo-registro-do-windows/