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

  Melhorando o atendimento ao cliente com mensagens de alto impacto Mensagens entre empresas e clientes não são uma novidade. Essa é uma estratégia consagrada com resultados comprovados, e uma pesquisa recente da Forrester descobriu que, antes de 2020, as mensagens ocupavam a quinta opção mais popular de atendimento e passaram a ser a segunda em 2021. 1 Agora, só porque uma empresa usa mensagens, não significa que ela esteja as usando da melhor forma. O que diferencia as empresas é sua capacidade de criar interações com mensagens de alto impacto. Aproveitando a personalização, esse tipo de mensagem cria conexões individuais com cada cliente que interage com a marca. O que é uma mensagem de alto impacto? As mensagens de alto impacto chamam a atenção dos clientes e agregam valor imediato. Mensagens com um CTA, uma lista e um chatbot, assim como outros recursos interativos, envolvem os clientes e fornecem a eles exatamente o que querem, quando querem. Elas não prolongam a conversa sem nec

A Importância do Controle de Estoques para o Sucesso do Seu Negócio

O controle de estoques é um processo crucial para qualquer empresa que lida com produtos físicos, independentemente do seu porte ou segmento de atuação. Ele garante a visibilidade completa sobre a movimentação de itens, desde a entrada no armazém até a venda para o cliente final. Mas qual a real importância desse processo? 1. Otimização do Capital de Giro: Estoque excessivo: Capital parado, sem gerar retorno financeiro, além de custos extras com armazenagem e depreciação dos produtos. Estoque insuficiente: Perda de vendas, insatisfação dos clientes e possíveis danos à reputação da marca. O controle de estoques eficaz encontra o equilíbrio ideal, evitando esses problemas e liberando recursos para investimentos mais estratégicos. 2. Redução de Custos: Combate à obsolescência: Identificação e descarte de produtos com baixa rotatividade, evitando prejuízos. Negociação com Fornecedores: Poder de barganha para obter melhores preços e prazos de pagamento, otimizando o custo das compr

Derrubar usuários Linux (Debian Servidores) Ociosos

Derrubar um Usuário no servidor Linux pela linha de comando: Logue como root ou use "sudo" se tiver configurado no arquivo sudoers do linux. Use o "W" para ver os usuários online no servidor. # w Para ver qual processo quer derrubar utilize o seguinte comando: # ps -u <nome_usuario> Encontre o PID no resultado do comando acima e utilize o seguinte comando: # kill -9 <PID> Agora se você é um administrador de ERP na empresa, e quer deixar esse processo automatizado, utilize o scrypt abaixo fornecido por nosso amigo, "Guilherme Moura de Souza": Baixe aqui :  mataUsuarioOcioso.sh Até a Próxima.