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

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

Existe uma fórmula padrão de Calculo de Estoque Mínimo e Máximo?

  Na verdade, não existe uma fórmula única e universal para calcular o estoque mínimo e máximo ideal para uma empresa de varejo, pois diversos fatores influenciam esses valores. No entanto, existem algumas fórmulas e métodos básicos que podem te ajudar a estimar esses níveis de forma eficiente, considerando as características específicas do seu negócio. Fórmula básica para o estoque mínimo: Estoque mínimo = Consumo médio diário x Tempo de reposição Essa fórmula leva em conta a quantidade média de produtos que você vende por dia e o tempo que leva para receber novos produtos do seu fornecedor. O objetivo é garantir que você tenha estoque suficiente para atender à demanda durante esse período de reposição, mesmo que haja imprevistos. Fórmula básica para o estoque máximo: Estoque máximo = Estoque médio + Lote de compra Essa fórmula considera o seu estoque médio, que é a quantidade média de produtos que você costuma ter em estoque, e o tamanho do lote de compra que você costuma fazer. ...

Saber é poder! Descubra a maneira de enfrentar os desafios de TI e de telecomunicações mais importantes com soluções personalizadas

Uma arquitetura aperfeiçoada para Data Centers de alta densidade e alta eficiência Leia a Matéria na íntegra. Acesse aqui a Documentação.