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

Auto-jointure SQL pour renvoyer des lignes spécifiques

SELECT  mm.*, md.label AS standardized_label
FROM    mytable md
LEFT JOIN
        mytable mc
ON      mc.parent_element = md.id
        AND mc.client = @client
JOIN    mytable mm
ON      mm.id = COALESCE(mc.id, md.id)
WHERE   md.client IS NULL

Créer un index sur (client, parent_element) pour que cela fonctionne rapidement.

Voir SQLFiddle .