Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Tabela jest określana dwukrotnie, zarówno jako cel dla 'UPDATE', jak i jako oddzielne źródło danych w mysql

Jest to typowa rzecz MySQL i zwykle można ją obejść, wybierając z tabeli pochodnej, tj. Zamiast

FROM manager AS m2

użyj

FROM (select * from manager) AS m2

Pełne oświadczenie:

UPDATE manager
SET status = 'Y'
WHERE branch_id IN
(
  select branch_id
  FROM (select * from manager) AS m2
  WHERE (branch_id, year) IN
  (
    SELECT branch_id, year
    FROM branch_master
    WHERE type = 'finance'
  )
);


  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 GDZIE W ()

  2. Strona internetowa z najlepszymi praktykami w wielu językach

  3. MySQL — wyzwalacz aktualizacji tej samej tabeli po wstawieniu

  4. BIN() — pobierz wartość binarną liczby w MySQL

  5. Wykonanie instrukcji MySQL zajmuje więcej niż minutę