Avançada MySQL Query: Tabela de Atualização com informações de outra tabela

StackOverflow https://stackoverflow.com/questions/1202075

  •  05-07-2019
  •  | 
  •  

Pergunta

Gostaria de atualizar uma tabela no MySQL com dados de outra tabela.

Eu tenho duas tabelas "povo" e "negócios". A tabela pessoas está ligada à tabela de negócios por uma coluna chamada "business_id".

A estrutura da tabela necessário, chave primária é estrelado (Tabela: colunas): Pessoas: business_id *, sort_order *, e-mail Negócio: business_id *, e-mail

Eu gostaria de atualizar a coluna email mesa de negócios com o e-mail da tabela de pessoas, algo assim (eu sei que eu estou faltando alguma coisa aqui):

UPDATE business b SET email = (SELECT email  from People p where p.business_id = b.business_id AND sort_order = '1') WHERE b.email = ''; 

Isso faz sentido? É possível?

Foi útil?

Solução

UPDATE business b, people p
   SET b.email = p.email
 WHERE b.business_id = p.business_id
   AND p.sort_order = '1'
   AND b.email = ''

Outras dicas

Note, se sort_order é um INT, então não use '1' - utilização 1:

UPDATE business b
JOIN People p
ON p.business_id = b.business_id
AND p.sort_order = '1'
SET b.email = p.email
WHERE b.email = '';

Tente isso, ele funciona muito bem para mim.

Update table a, table b
Set a.importantField = b.importantField,
a.importantField2 = b.importantField2
where a.matchedfield = b.matchedfield;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top