接下来大家,我正在尝试进行查询(更新)以借记由script_id + cnpj标识的公司的XX(值)中的信用。 即,价值将动态和识别公司。 当我运行时出现以下错误: [错误] 1093 - 您无法在FROM子句中为更新指定目标表'company' 已经谷歌搜索,试图优化代码,但没有看到另一种方式来执行此查询。
UPDATE empresa
SET saldo = saldo - (
SELECT
preco
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
emp1.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
);`