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

Programa de vetores em C completo. By 4tunato.

Conforme Prometido abaixo está o programa completo com as funcionalidades para vetores: #include <stdio.h> #include <stdlib.h> static int vetor[5]; //ALUSOES void inserirElementos(); void somatorioEMedia(); void ordenacaoBolha(); void ordenacaoBolhamenos(); void mostrar(); void menorValor(); void maiorValor(); void semfuncao(); //PRINCIPAL int main(){ char caractere;     do{     system("cls");     printf("Inserir Elementos(1)");     printf("\nSomatorio e Media (2)");     printf("\nOrdenacao Bolha menor pro maior (3)");     printf("\nOrdenacao Bolha maior pro menor (4)");     printf("\nMostrar (5)");     printf("\nMenor Valor(6)");     printf("\nMaior Valor(7)");     printf("\nSem Funcao(8)");     printf("\nSair(0)");     printf("\n\nEscolha sua opcao:");       caractere = getchar();// lê o buffer do teclado...

Apostila de Pascal.

Este curso destina-se àqueles que desejam se iniciar na linguagem Pascal, através do seu mais famoso compilador para a linha IBM/PC, o Turbo Pascal. O Turbo Pascal é muito mais que um compilador, pois ele é uma associação entre um compilador, um editor de textos e um linkeditor. Desta forma, o Turbo Pascal facilita sobremaneira o ato de programar. Além de tudo, o Turbo permite muitas facilidades e atividades que, com certeza, não estavam planejadas por Niklaus Wirth, o criador da linguagem Pascal. Levando-se em conta todas essas considerações, podemos até mesmo dizer que o Turbo Pascal seria uma nova linguagem, mais poderosa que a Pascal.... Faça o Download em PDF e leia o restante do assunto.

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