sql >> Databáze >  >> RDS >> Mysql

Chyba (1093):Nelze aktualizovat cílovou tabulku pro aktualizaci v klauzuli FROM

zabalte jej do poddotazu (tím vytvoříte dočasnou tabulku )

UPDATE  o_daily_lcsgeneration_copy
SET     o_daily_lcsgeneration_copy.Billing_cycle = 
(
    SELECT Billing_cycle
    FROM
    (
        SELECT  s_billing_cycle.Billing_cycle
        FROM    s_billing_cycle
                INNER JOIN o_daily_lcsgeneration_copy
                    ON o_daily_lcsgeneration_copy.Location = s_billing_cycle.Location
        WHERE   o_daily_lcsgeneration_copy.DATE BETWEEN s_billing_cycle.From_Date
                AND s_billing_cycle.To_Date
    ) s
)

nebo JOIN tabulky

UPDATE  o_daily_lcsgeneration_copy a
        INNER JOIN s_billing_cycle b
            ON a.Location = b.Location
SET     a.Billing_cycle = b.Billing_cycle
WHERE   a.DATE BETWEEN b.From_Date AND b.To_Date



  1. MySQL:Trvalé nastavení sql_mode

  2. Vygenerujte online proceduru PL/SQL pro import dat do tabulky Oracle

  3. Zkontrolujte rovnost v poli MySQL Float

  4. JDBC SQLServerException:Tento ovladač není nakonfigurován pro integrované ověřování.