Mysql
 sql >> база данни >  >> RDS >> Mysql

Грешка (1093):Не можете да актуализирате целевата таблица за актуализация в клауза FROM

обвийте го в подзаявка (по този начин създавате временна таблица )

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
)

или JOIN таблиците

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL, ORDER BY ред на вмъкване, без колони за сортиране

  2. Трябва ли да се затворят SQL връзките, отворени с PDO в PHP

  3. Свързване с отдалечен MySQL сървър с помощта на PHP

  4. Не мога да намеря my.cnf на моя компютър с Windows

  5. MySQL/MariaDB - подреждане по вътрешна подзаявка