sql >> Database teknologi >  >> RDS >> Mysql

Tabel er angivet to gange, både som et mål for 'OPDATERING' og som en separat kilde til data i mysql

Dette er en typisk MySQL-ting og kan normalt omgås ved at vælge fra den afledte tabel, dvs. i stedet for

FROM manager AS m2

brug

FROM (select * from manager) AS m2

Den komplette erklæring:

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. Opdag duplikerede elementer i rekursiv CTE

  2. Hvert GROUP BY-udtryk skal indeholde mindst én kolonne, der ikke er en ydre reference

  3. Hvordan indlæses et stort antal strenge for at matche med Oracle-databasen?

  4. Liste de forespørgsler, der kører på SQL Server