Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.matriculaCarregando comentários...