Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aline_

Update com dados de outra tabela

Recommended Posts

Olá,

 

Preciso fazer update de uma tabela com o valor de outra.

No primeiro exemplo está o update completo, e nos demais todas as outras alternativas que já tentei.

Sempre aparece o erro #1093 - You can't specify target table 'hist_salarial' for update in FROM clause

 

 
update hist_salarial
  set hist_salarial.data_inicial = (select data_admissao 
                      from funcionario c 
                      where c.matricula = hist_salarial.matricula)
WHERE hist_salarial.matricula = funcionario.matricula
  and tipo_alteracao = 'CA'
  and data_inicial = (select min(data_inicial) from `hist_salarial` b
                       where hist_salarial.matricula = b.matricula 
                         and tipo_alteracao = 'CA')
and data_inicial <> (select data_admissao 
                      from funcionario d 
                      where d.matricula = hist_salarial.matricula)

 

Tentativas

update hist_salarial inner join funcionario 
                    on hist_salarial.matricula = funcionario.matricula
  set hist_salarial.data_inicial = funcionario.data_admissao 

update hist_salarial inner join funcionario 
  set hist_salarial.data_inicial = funcionario.data_admissao 
WHERE hist_salarial.matricula = funcionario.matricula

update hist_salarial 
  set hist_salarial.data_inicial = funcionario.data_admissao 
inner join funcionario on hist_salarial.matricula = funcionario.matricula

update hist_salarial, funcionario 
  set hist_salarial.data_inicial = funcionario.data_admissao 
where hist_salarial.matricula = funcionario.matricula   

UPDATE hist_salarial
  SET set hist_salarial.data_inicial = funcionario.data_admissao 
 FROM hist_salarial inner join funcionario 
where hist_salarial.matricula = funcionario.matricula   

Compartilhar este post


Link para o post
Compartilhar em outros sites

update hist_salarial h, funcionario f
set h.data_inicial = f.data_admissao 
where h.matricula = f.matricula   

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Giesta,

 

Tentei com apelidos também. Mesmo erro: #1093 - You can't specify target table 'h' for update in FROM clause

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.