Seguinte pessoal, estou tentando fazer uma query (UPDATE) para debitar creditos em XX (valor) de uma empresa identificada por script_id + cnpj (da certidão).
Ou seja, o valor virá dinamicamente e a identificação da empresa também.
Quando executo aparece o seguinte erro:
[Err] 1093 - You can't specify target table 'empresa' for update in FROM clause
Já pesquisei, tentei otimizar esse código, mas não vi outra forma de realizar essa consulta.
update empresa
set saldo = saldo - (
select preço
from preco_servico
where id = (select emp2.idEscritorio from empresa as emp2 where razao_social = (select emp3.associacao from empresa as emp3 where idEscritorio = (
select certidao_contratada.empresa_idEscritorio as idEscritorio
from certidao_contratada
inner join certidao_processada on certidao_contratada.cnpj_idCnpj = certidao_processada.certidao_contratada_cnpj_idCnpj
where certidao_processada.certidao_contratada_scripts_idScript = 68 #script_id
and certidao_processada.certidao_contratada_cnpj_idCnpj = '34.997.015/0001-98' #cnpj (da certidão)
order by certidao_processada.dataHoraConcluido desc
limit 1)))
and tipo_servico like 'b%'
)
where idEscritorio = (
select certidao_contratada.empresa_idEscritorio as idEscritorio
from certidao_contratada
inner join certidao_processada on certidao_contratada.cnpj_idCnpj = certidao_processada.certidao_contratada_cnpj_idCnpj
where certidao_processada.certidao_contratada_scripts_idScript = 68 #script_id
and certidao_processada.certidao_contratada_cnpj_idCnpj = '34.997.015/0001-98' #cnpj (da certidão)
order by certidao_processada.dataHoraConcluido desc
limit 1
);
Pergunta
MuRd0C
Seguinte pessoal, estou tentando fazer uma query (UPDATE) para debitar creditos em XX (valor) de uma empresa identificada por script_id + cnpj (da certidão).
Ou seja, o valor virá dinamicamente e a identificação da empresa também.
Quando executo aparece o seguinte erro:
[Err] 1093 - You can't specify target table 'empresa' for update in FROM clause
Já pesquisei, tentei otimizar esse código, mas não vi outra forma de realizar essa consulta.
Grato pela ajuda!
Editado por MuRd0CLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados