sql >> Database >  >> RDS >> Mysql

MySQL Update Query met een left join

U wilt dus alleen mappen verplaatsen als een map met dezelfde naam onder de bovenliggende doelmap niet bestaan:

UPDATE file_manager_folder f1
LEFT OUTER JOIN file_manager_folder f2 
    ON f1.name = f2.name AND f2.parentId = 54
SET f1.parentId = 54 
WHERE f2.name IS NULL AND f1.id IN (1,2,3);

De join-voorwaarde zoekt naar een map met dezelfde naam onder het bovenliggende doel. De WHERE-component test of een dergelijke map niet bestaat (f2.name is alleen null als de outer join geen overeenkomst vindt).



  1. SQL - Hoe hiërarchieën opslaan en navigeren?

  2. sp_add_schedule vs sp_add_jobschedule in SQL Server:wat is het verschil?

  3. Vind alle tabellen met kolom met gespecificeerde naam - MS SQL Server

  4. DATEADD-equivalent in PostgreSQL