Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mettre à jour une colonne à l'aide d'une sous-requête de sélection dans la même table

Vous voulez UPDATE FROM :

UPDATE N1
SET N1.is_last_child = 1
FROM Node N1
LEFT OUTER JOIN Node N2
    ON N1.ID = N2.Parent_ID
WHERE N2.ID IS NULL

La jointure externe gauche est conceptuellement la même que l'utilisation de NOT IN seulement c'est plus facile à lire et vous n'avez pas besoin d'un tas de requêtes imbriquées.