错误:使用MySQL 5中的select进行更新

时间:2013-08-20 19:40:14

标签: mysql-error-1093

接下来大家,我正在尝试进行查询(更新)以借记由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
    );`

0 个答案:

没有答案